Typescript 允许typeof接受子类
考虑以下四类:Typescript 允许typeof接受子类,typescript,Typescript,考虑以下四类: export class Car { } export class Mercedes extends Car { } export class Animal<T extends Car> { car: T; } export class Dog extends Animal<Mercedes> { } 现在,以下操作不起作用: let x = new MyClass(Dog); 我怎样才能做到这一点呢?要让它起作用,您需要定义MyC
export class Car {
}
export class Mercedes extends Car {
}
export class Animal<T extends Car> {
car: T;
}
export class Dog extends Animal<Mercedes> {
}
现在,以下操作不起作用:
let x = new MyClass(Dog);
我怎样才能做到这一点呢?要让它起作用,您需要定义
MyClass
,如下所示:
export class MyClass<T extends Car> {
constructor(animalClass: new() => Animal<T>) {}
}
导出类MyClass{
构造函数(animalClass:new()=>Animal){}
}
这里的MyClass
是泛型类型,它的构造函数采用一些可以构造该泛型类型的Animal
下面的文档介绍了这一点。什么是“不工作”-错误?在编译时?运行时间?它不会在操场上出错();您使用的是哪个版本的TS?抱歉,原来错误来自几个更深层的类。请查看更新的问题。我还在操场上测试了代码,错误现在确实出现了。
export class MyClass<T extends Car> {
constructor(animalClass: new() => Animal<T>) {}
}