我有这个界面
interface Base {
common: {
foo: string,
}
}
interface ExtendedOne extends Base {
count: number,
}
interface ExtendedTwo extends Base {
origin: string,
}
现在,我想要的是通过interface
的定义ExtendedOne
并向来自 的 propExtendedTwo
添加另一个属性和类型。common
Base
因此可以说(伪代码)
interface ExtendedOne extends Base {
count: number,
common: {
...Base,
anotherProp: boolean,
}
}
interface ExtendedTwo extends Base {
origin: string,
common: {
...Base,
anotherProp: number,
}
}
添加的道具总是会有相同的名称(此处anotherProp
),但类型会有所不同。
如果需要的话,可以将接口更改为类型。
&
您可以在 Typescript 中使用运算符来组合类型。TypeScript 也有一些很棒的实用类型。例如,检查
Omit
和Pick
允许您通过省略或选择其他类型的属性来选择性地创建新类型。