1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(class): edit class private property

This commit is contained in:
ruanyf 2018-05-03 16:02:42 +08:00
parent 63580eb1ff
commit 165d5e0c19

View File

@ -460,7 +460,7 @@ class Point {
}
```
上面代码中,`#x`表示私有属性`x`,在`Point`类之外是读取不到这个属性的。还可以看到,私有属性与实例的属性是可以同名的(比如,`#x``get x()`
上面代码中,`#x`是私有属性,在`Point`类之外是读取不到这个属性的。由于井号`#`是属性名的一部分,使用时必须带有`#`一起使用,所以`#x``x`是两个不同的属性
私有属性可以指定初始值,在构造函数执行时进行初始化。
@ -475,7 +475,7 @@ class Point {
之所以要引入一个新的前缀`#`表示私有属性,而没有采用`private`关键字,是因为 JavaScript 是一门动态语言使用独立的符号似乎是唯一的可靠方法能够准确地区分一种属性是否为私有属性。另外Ruby 语言使用`@`表示私有属性ES6 没有用这个符号而使用`#`,是因为`@`已经被留给了 Decorator。
该提案只规定了私有属性的写法。但是,很自然地,它也可以用来写私有方法。
这种写法不仅可以写私有属性,还可以用来写私有方法。
```javascript
class Foo {