【发布时间】:2016-08-19 19:13:57
【问题描述】:
我想这样做:
createClass(c:class):SomeInstance {
return new class() as SomeInstance;
}
但是,它在我指定 :class 部分的地方显示“预期类型”。
【问题讨论】:
标签: class dynamic typescript
我想这样做:
createClass(c:class):SomeInstance {
return new class() as SomeInstance;
}
但是,它在我指定 :class 部分的地方显示“预期类型”。
【问题讨论】:
标签: class dynamic typescript
固定:
function createClass<SomeInstance>(c:{new():SomeInstance}):SomeInstance {
return new c();
}
您基本上是在说createClass 采用构造函数(用 new 调用时会给出一个实例),因此是 c:{new():SomeInstance}。然后createClass的返回类型就是SomeInstance
PS:大概叫
createInstance?
【讨论】:
generic 类型参数。更多:basarat.gitbooks.io/typescript/content/docs/types/…