让我们想象一个具有属性A和B或的对象C,例如:
const temp = {
A: 1,
B: 2,
}
Run Code Online (Sandbox Code Playgroud)
或者
const temp = {
C: 3,
}
Run Code Online (Sandbox Code Playgroud)
直觉上,我认为这种类型为:
type T = {A: number, B: number} | {C: number};
const valid: T = {A: 1, B: 2};
const alsoValid: T = {C: 3};
// Should complain but it does not
const invalid: T = {A: 1, B: 2, C: 3};
// Also should complain
const alsoInvalid: T = {A:1, C: 3};
Run Code Online (Sandbox Code Playgroud)
但是 TS 将此类类型视为 …
typescript ×1