Typescript 确保泛型类型具有特定属性
如何确保泛型类型Typescript 确保泛型类型具有特定属性,typescript,Typescript,如何确保泛型类型T实现某个属性 export class Helicopter<T> implements IFlyable<T> { constructor(private _value : T) { } get listOfEngines(): string[] { return _value.listOfEngines; } } 出口级直升机实施IFlyable{ 构造函数(私有值:T){ } 获取listOfE
T
实现某个属性
export class Helicopter<T> implements IFlyable<T> {
constructor(private _value : T) {
}
get listOfEngines(): string[] {
return _value.listOfEngines;
}
}
出口级直升机实施IFlyable{
构造函数(私有值:T){
}
获取listOfEngines():字符串[]{
返回_value.listOfEngines;
}
}
目前,编译器抱怨类型
T
没有属性listOfEngines
创建一个接口,并向类型参数T
添加扩展
限制:
export interface IHelicopterStructure {
listOfEngines:string[];
}
export class Helicopter<T extends IHelicopterStructure> extends Structure implements IFlyable<T> {
...
}
导出接口IHelicopterStructure{
发动机列表:字符串[];
}
出口级直升机扩展结构实现IFlyable{
...
}
您要查找的内容称为约束:
只需指定T必须扩展的类型或接口,如手册所示
export class Helicopter<T extends IVehicle> implements IFlyable<T> {}
导出类直升机实现IFlyable{}