《ECMAScript 6 入门》 #### Class的继承章节中
原案例代码如下:
class A {
constructor() {
this.x = 1;
}
}
class B extends A {
constructor() {
super();
this.x = 2;
super.x = 3;
console.log(super.x); // undefined
console.log(this.x); // 3
}
}
let b = new B();
原书对这段代码的解释
上面代码中,super.x赋值为3,这时等同于对this.x赋值为3。而当读取super.x的时候,读的是A.prototype.x,所以返回undefined。
但实际环境测试次代码,console.log(this.x)此语句实际输出的是2,不是3.
请问是书上描述错了,还是我理解错了?
慕桂英4014372
相关分类