Answers:
关键字extends只能用于接口和类。
如果只想声明具有其他属性的类型,则可以使用交集类型:
type UserEvent = Event & {UserId: string}
对于TypeScript 2.2的UPDATE,如果类型满足一些限制,现在可以使用扩展类对象类型的接口:
type Event = {
name: string;
dateCreated: string;
type: string;
}
interface UserEvent extends Event {
UserId: string;
}
相反,它不起作用- UserEvent必须声明为接口,type如果要使用extends语法,则不能声明为接口。
而且仍然不能extend 与任意类型一起使用-例如,如果Event类型参数没有任何约束,则它不起作用。
interface A<T> extends B<T> {blar}接口只能扩展对象类型或具有静态已知成员的对象类型的交集
interface Identifiable<T> extends T { id: string }给我带来错误“接口只能扩展对象类型或具有静态已知
type关键字被用于定义类型别名,而不是接口或类。