如何在 Typescript 中声明一个具有现有接口的所有字段以及其他字段的变量
How to declare a variable in Typescript that has all fields of existing interface plus others
比如我有接口
export Interface IPerson { name: string, age: number }
person: IPerson = { name: 'Mary', age: 20 };
我想声明如下:
superPerson 拥有 IPerson 的所有字段加上字段 score
superPerson: { score: number } extends IPerson = { name: 'Mary', age: 20, score: 170}
无需单独定义新的接口或类型。
这可以通过交集类型来完成:
superPerson: IPerson & { score: number } = { name: 'Mary', age: 20, score: 170 }
请注意,如果您在单独的一行上执行此操作,它几乎是相同的,只是您有一个类型的名称,这可以使弱小的人更容易理解,并允许重用该类型。
type SuperPerson = IPerson & { score: number };
superPerson: SuperPerson = { name: 'Mary', age: 20, score: 170};
比如我有接口
export Interface IPerson { name: string, age: number }
person: IPerson = { name: 'Mary', age: 20 };
我想声明如下:
superPerson 拥有 IPerson 的所有字段加上字段 score
superPerson: { score: number } extends IPerson = { name: 'Mary', age: 20, score: 170}
无需单独定义新的接口或类型。
这可以通过交集类型来完成:
superPerson: IPerson & { score: number } = { name: 'Mary', age: 20, score: 170 }
请注意,如果您在单独的一行上执行此操作,它几乎是相同的,只是您有一个类型的名称,这可以使弱小的人更容易理解,并允许重用该类型。
type SuperPerson = IPerson & { score: number };
superPerson: SuperPerson = { name: 'Mary', age: 20, score: 170};