docs(class): fixed #36 ES6 -> ES2022

This commit is contained in:
ruanyf
2023-08-15 08:59:48 +08:00
parent 3459a161ae
commit 33d0b9e1d4

View File

@@ -1091,7 +1091,7 @@ if ('x' in a) { // 正确
上面示例中,`A`类的属性`x`是私有属性,但是实例使用方括号,就可以读取这个属性,或者使用`in`运算符检查这个属性是否存在,都可以正确执行。
由于`private`存在这些问题,加上它是 ES6 标准发布前出台的,而 ES6 引入了自己的私有成员写法`#propName`。因此建议不使用`private`,改用 ES6 的写法,获得真正意义的私有成员。
由于`private`存在这些问题,加上它是 ES2022 标准发布前出台的,而 ES2022 引入了自己的私有成员写法`#propName`。因此建议不使用`private`,改用 ES2022 的写法,获得真正意义的私有成员。
```typescript
class A {
@@ -1102,7 +1102,7 @@ const a = new A();
a['x'] // 报错
```
上面示例中,采用了 ES6 的私有成员写法(属性名前加`#`TypeScript 就正确识别了实例对象没有属性`x`,从而报错。
上面示例中,采用了 ES2022 的私有成员写法(属性名前加`#`TypeScript 就正确识别了实例对象没有属性`x`,从而报错。
构造方法也可以是私有的,这就直接防止了使用`new`命令生成实例对象,只能在类的内部创建实例对象。