无法访问父类属性
2017-07-17
2061
请参阅下面的 TypeScript 代码:
class x {
a = 20;
f1(){
console.log("parent > " + this.a);
}
}
class y extends x {
a = 10;
f1(x?:number){
console.log("chold > " + this.a);
super.f1();
}
}
let z = new y();
z.f1();
当我在 Chrome 中运行下面的编译代码时,我得到 child = 10 和 parent = 10 。
由于
this
似乎不起作用,从父类访问父类属性的正确方法是什么。
1个回答
What is the correct way of accessing parent class properties from parent class as
this
does not seams to work.
this
指向当前实例。
this.a
将指向父类和类中的相同值。本质上,
a
被覆盖,当父类访问
this.a
时,它会访问子属性。
更多
-
即使覆盖后,仍可通过
super
访问父类方法 - 父类属性将永久被 覆盖
文档
basarat
2017-07-17