我希望能够创建一个“工厂”,以允许我通过课程。
class Dolphin {};
class Seal {};
const returnsFunctionThatReturn = (c) => {
return (): c => {};
}
returnsFunctionThatReturn(Dolphin)(); // should be a dolphin
returnsFunctionThatReturn(Seal)(); // should be a seal
在TS中这样的事情可能吗?
答案 0 :(得分:1)
这应该做到。
const returnsFunctionThatReturn = <T> (c: new () => T) => {
return (): T => new c();
}
答案 1 :(得分:0)
为什么不可以呢?但是,您只能访问这些类的公共静态变量和函数。否则,必须先构造它们,然后再将它们输入到函数中。