我在理解 TS 中的联合时遇到问题,为什么下面的分配是有效的?我认为这将只是为有效const a = {a:12}或{a:123,b:23}或{a:12,b:12,c:123}。
type abcd =
| {
a: number;
}
| {
a: number;
b: number;
}
| {
a: number;
b: number;
c: number;
};
const a: abcd = {
a:123,
c:234
};
Run Code Online (Sandbox Code Playgroud)
如果我更改c为somethingElse:
const a: abcd = {
a:123,
somethingElse:234 // Error on this line
};
Run Code Online (Sandbox Code Playgroud)
它给了我:
输入'{一个:数字;别的东西:数字;}' 不能分配给类型 'abcd'。对象字面量只能指定已知属性,并且类型“abcd”中不存在“somethingElse”。(2322)
typescript ×1