Skip to content

Commit 46981f6

Browse files
committed
docs(class): edit 私有属性
1 parent 456bfa0 commit 46981f6

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

docs/class.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,16 @@ export default class myClass{
776776
};
777777
```
778778

779-
上面代码中,`bar``snaf`都是`Symbol`值,导致第三方无法获取到它们,因此达到了私有方法和私有属性的效果。
779+
上面代码中,`bar``snaf`都是`Symbol`值,一般情况下无法获取到它们,因此达到了私有方法和私有属性的效果。但是也不是绝对不行,`Reflect.ownKeys()`依然可以拿到它们。
780+
781+
```javascript
782+
const inst = new myClass();
783+
784+
Reflect.ownKeys(myClass.prototype)
785+
// [ 'constructor', 'foo', Symbol(bar) ]
786+
```
787+
788+
上面代码中,Symbol 值的属性名依然可以从类的外部拿到。
780789

781790
### 私有属性的提案
782791

0 commit comments

Comments
 (0)