我正尝试在我的打字稿代码中创建一个新类型,如下所示:
interface required {
x: string
}
interface optional1 {
y: string
}
interface optional2 {
z: string
}
type combined = required & (optional1 | optional2)
我想要的行为是:
答案 0 :(得分:2)
您需要通过在可选接口上使用?
来将其标记为可选属性。
如果这样做,除对象被允许具有两者{strong> y
和z
的属性({{1}也是如此) },这让我感到惊讶):
type combined = (required & optional1) | (required & optional2);