鉴于以下课程:
class BaseClass {}
我想创建另一个扩展此类的类,即:
class ExtendedClass extends BaseClass {}
然后我想将 ExtendedClass
作为参数传递给另一个函数( not 一个 ExtendedClass
的实例,但类本身!),并通过确保 ExtendedClass
扩展 BaseClass
来键入检查 .
这不起作用:
function helloClass (c: BaseClass) {}
因为 c: BaseClass
表示 c
应该是 BaseClass
的 instance (或扩展 BaseClass
的东西) - 但不是扩展 BaseClass
本身的类 .
这在TypeScript中是否可行?
1 回答
你可以代表这样的类:
{ new(): BaseClass }
.或者在一个例子中:
(code in playground)