mirror of
https://github.com/wangdoc/typescript-tutorial.git
synced 2025-12-20 00:50:17 +08:00
docs(class): fixed #36 ES6 -> ES2022
This commit is contained in:
@@ -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`命令生成实例对象,只能在类的内部创建实例对象。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user