Typescript 为什么可以';如果引用类型是具有泛型的父类,我是否将对派生类的引用分配给变量?
如果引用类型是具有泛型的父类,为什么不能将对派生类的引用指定给变量Typescript 为什么可以';如果引用类型是具有泛型的父类,我是否将对派生类的引用分配给变量?,typescript,Typescript,如果引用类型是具有泛型的父类,为什么不能将对派生类的引用指定给变量 interface IModel { id?: number; } class Model<T extends IModel> { public data: T; constructor(data: T) { this.data = data; } } interface IConcretModel extends IModel { name: string
interface IModel {
id?: number;
}
class Model<T extends IModel> {
public data: T;
constructor(data: T) {
this.data = data;
}
}
interface IConcretModel extends IModel {
name: string;
}
class ConcretModel extends Model<IConcretModel> {
static sm1() { }
}
let a: typeof Model;
a = ConcretModel;
当您将变量输入为
typeof Model
时,该类将保持为泛型,例如,您可以编写:
let a: typeof Model;
new a<IConcretModel>(null)
let a: typeof Model;
new a<IConcretModel>(null)
let a: new (data: IModel) => Model<IModel>;
a = ConcretModel;