第17章「装饰器」第8小节「accessor 装饰器」关于 accessor 描述错误的问题
Closed this issue · 1 comments
masonzz commented
原文:
class C {
accessor x = 1;
}上面示例中,accessor修饰符等同于为属性x自动生成取值器和存值器,它们作用于私有属性x。也就是说,上面的代码等同于下面的代码。
class C {
#x = 1;
get x() {
return this.#x;
}
set x(val) {
this.#x = val;
}
}上述示例中,经过 accessor 修饰的 x 并不会转化为私有属性。
class C {
accessor x = 1;
accessor #y = 1;
}
const c = new C();
console.log(c.x);
console.log(c.y);
// ^? 此处访问 c.y 会报错ruanyf commented
这里应该说,属性x的存在依赖于存取器,而存取器依赖于私有属性x。