【发布时间】:2019-01-24 17:49:54
【问题描述】:
有没有办法使用下面描述的方法来获得正确的类型。我努力了 使 makeInstance() 通用但我还没有获得扩展类型。代码如下。
class Base {
name = 'foo';
static makeInstance() {
return new this();
}
}
class Extended extends Base {
age = 10;
}
let base = Base.makeInstance() // is Base
let extended = Extended.makeInstance(); //should be Extended
console.log(base.name);//ok
console.log(extended.age); //output ok; age doesn't exists
console.log(extended.name);// ok
【问题讨论】:
-
相关 GitHub 问题:github.com/Microsoft/TypeScript/issues/5863
-
感谢它解决了我的问题
标签: typescript typescript-types