При вызове родительского класса 'new this()
у меня возникают проблемы с выяснением, как вернуть тип подкласса, а не родительский класс.
В приведенном ниже примере код выполняется без ошибок , но child.hi()
отображается как ошибка, поскольку child
имеет тип Parent
, а не Child
.
class Parent {
static get() {
return new this();
}
}
class Child extends Parent {
hi() {
console.log('hi!');
}
static make() {
const child = this.get();
child.hi(); // <-- type error
}
}
Child.make();
Typescript Playground Link