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:
parent
63580eb1ff
commit
165d5e0c19
@ -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。
|
之所以要引入一个新的前缀`#`表示私有属性,而没有采用`private`关键字,是因为 JavaScript 是一门动态语言,使用独立的符号似乎是唯一的可靠方法,能够准确地区分一种属性是否为私有属性。另外,Ruby 语言使用`@`表示私有属性,ES6 没有用这个符号而使用`#`,是因为`@`已经被留给了 Decorator。
|
||||||
|
|
||||||
该提案只规定了私有属性的写法。但是,很自然地,它也可以用来写私有方法。
|
这种写法不仅可以写私有属性,还可以用来写私有方法。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
class Foo {
|
class Foo {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user