【发布时间】:2020-04-15 03:43:50
【问题描述】:
考虑这段代码:
let foo: {a: any} | {b: any} = {a: 1, b: 2};
我希望 TypeScript 拒绝此代码,因为此联合类型表示第一种类型或第二种类型,并且该值不能分配给它们中的任何一个,因此类型检查应该拒绝它。但实际上它通过了,为什么呢?
(对于背景,上述类型旨在成为“此属性或该属性,但不是两者,类型”。请参阅Typescript Interface - Possible to make "one or the other" properties required?)
【问题讨论】:
标签: typescript