0
我发现在实现一个类时,实现的成员在构造函数中不可用。我不知道我是否执行错误,或者如果我真的应该采取不同的方法。在构造函数中使用已实现的成员(打字稿)
abstract class Parent {
abstract myVar: number;
constructor() {
console.log(this.myVar) // Outputs undefined
}
f() {
console.log(this.myVar) // outputs 5
}
}
class Child extends Parent {
myVar: number = 5;
}
let myChild = new Child;
myChild.f();
我该如何在构造函数中访问这些实现的成员?
不调用从构造一个虚拟的方法的忠实粉丝。派生类可能会调用一个基类方法,它的行为将是未定义的,因为基类仍处于部分初始化状态。 –
@RyanCavanaugh在大多数情况下,你是对的,但有时很难避免。无论如何,我在这里用它来说明事情发生的顺序。 –