interface Test1 {
name: string;
age: number;
}
interface Test2 extends Test1 {
id: string;
}
const a: Test1 | Test2 = { id: 'a'}; // 此处报错
a的类型可以是Test1或者是Test2,怎么处理比较好?
interface Test1 {
name: string;
age: number;
}
interface Test2 extends Test1 {
id: string;
}
const a: Test1 | Test2 = { id: 'a'}; // 此处报错
a的类型可以是Test1或者是Test2,怎么处理比较好?
16 回答2.8k 阅读✓ 已解决
6 回答4.2k 阅读✓ 已解决
14 回答5.5k 阅读
7 回答1.8k 阅读
14 回答2k 阅读
3 回答987 阅读✓ 已解决
6 回答1.1k 阅读✓ 已解决
报错的原因跟联合类型没有关系,是你没给非空属性赋值。
你
Test2
是继承Test1
的,也就是说Test2
本身会拥有全部Test1
的公开成员。而Test1
里那俩属性是非空的,你在初始化时必须给赋值。