相关疑难解决方法(0)

类型联合不检查多余的属性

让我们想象一个具有属性AB或的对象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

6
推荐指数
2
解决办法
164
查看次数

标签 统计

typescript ×1