TypeScript中的条件键入问题

时间:2019-01-07 17:18:25

标签: typescript typescript-typings typescript-types

在TypeScript中是否可以定义一个具有两个可选属性“ a”和“ b”的接口,其中只能设置零或两个属性之一,而不能同时设置两个属性?

interface T {
  a?: number,
  b?: this extends { a: number } ? never : number // not working!!!
}

// shall be okay
const w: T = {
}

// shall be okay
const x: T = {
  a: 1
}

// shall be okay
const y: T = {
  b: 2
}

// shall not be okay
const z: T = {
  a: 1,
  b: 2
}

0 个答案:

没有答案