0
我正在尝试使用具有伪类的JS库的Typescript,以及提供继承的extend()
函数。我卡在如何通过不同的构造函数,以新的“类”:Typescript定义泛型构造函数
type A = (param1: string, param2: number);
type B = (param3: number, param4: number);
interface BaseClass {
extend<Constructor>(): {
new(); // How would I associate this function with type Constructor?
}
}
var NewClass = BaseClass.extend<A>();
new NewClass('Hello world', 3); // type checked against type A
var SecondClass= BaseClass.extend<B>();
new SecondClass(4, 5); // type checked against type B
我已经试过这样:
interface BaseClass {
extend<Constructor>(): {
new(): Constructor;
}
}
但是预计new NewClass()
到返回 A型
我已经试过这样:
interface BaseClass {
extend<Constructor>(): {
new<Constructor>();
}
}
但是,这不会输入检查new NewClass()
。
将函数与类型关联的正确语法是什么?