我如何在打字稿中使交集类型可选

interface TypeA {
  a: string
  b: string
}

interface TypeB {
  c: string
}

现在我想做一个 TypeC,a 和 b 是可选的,c 是必需的。

interface TypeC {
  a?: string
  b?: string
  c: string
}

有什么捷径可以做到吗?例如:

// type TypeC = TypeA? & TypeB

我认为当 TypeA 很大时它很有用

回答

操场

interface TypeA {
  a: string
  b: string
}

interface TypeB {
  c: string
}

// First way using extends and Partial
interface TypeC extends Partial<TypeA>, TypeB {
  // ...
}

// Second way using & and Partial
type TypeD = Partial<TypeA> & TypeB;

const variableC: TypeC = {
  c: '',
};

const variableD: TypeD = {
  c: '',
};


以上是我如何在打字稿中使交集类型可选的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>