想必大家已经见过私有变量的各种花式写法。
以下是真●私有变量标准写法。
标准写法
class Foo {
pub = "pub";
#pri = "pri";
get Pri () {
return this.#pri;
}
set Pri (v) {
this.#pri = v;
}
}
const f = new Foo;
f.pub \\ pub
f.#pri \\ Uncaught SyntaxError: Undefined private field #pri: must be declared in an enclosing class
f.Pri \\ Pri
f.Pri = "real pri"
f.Pri \\ real pri
兼容情况
- 浏览器上,只有chrome直接支持(下笔时chrome的最新版本为74)。
- 随着
nodejs 12
的发布,服务端已经可以直接使用这个语法。