Skip to content

Commit 8210df9

Browse files
authored
Merge pull request DrkSephy#83 from Sai628/master
Optimize Chinese expression
2 parents 6ea78c7 + a64f108 commit 8210df9

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

README_zhCn.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -658,13 +658,13 @@ class Personal extends Person {
658658

659659
## Symbols
660660

661-
符号(Symbols)在ES6版本之前就已经存在了,但现在我们拥有一个公共的接口来直接使用它们。
662-
Symbols对象是一旦创建就不可以被更改的(immutable)而且能被用做hash数据类型中的键
661+
Symbols在ES6版本之前就已经存在了,但现在我们拥有一个公共的接口来直接使用它们。
662+
Symbols是不可更改的(immutable)并且唯一的(unique),它可用作任何hash数据类型中的键
663663

664664
### Symbol( )
665-
调用 `Symbol()` 或者 `Symbol(描述文本)` 会创建一个唯一的、在全局中不可以访问的符号对象
665+
调用 `Symbol()` 或者 `Symbol(描述文本)` 会创建一个唯一的、在全局中不可以访问的Symbol对象
666666
一个 `Symbol()` 的应用场景是:在自己的项目中使用第三方代码库,且你需要给他们的对象或者命名空间打补丁代码,又不想改动或升级第三方原有代码的时候。
667-
举个例子,如果你想给 `React.Component` 这个类添加一个 `refreshComponent` 方法,但又确定不了这个方法会不会在下个版本中加入,你可以这么做:
667+
例如,如果你想给 `React.Component` 这个类添加一个 `refreshComponent` 方法,但又确定不了这个方法会不会在下个版本中加入,你可以这么做:
668668

669669
```javascript
670670
const refreshComponent = Symbol();
@@ -677,7 +677,7 @@ React.Component.prototype[refreshComponent] = () => {
677677
### Symbol.for(key)
678678

679679
使用 `Symbol.for(key)` 也是会创建一个不可改变的Symbol对象,但区别于上面的创建方法,这个对象是在全局中可以被访问到的。
680-
调用两次 `Symbol.for(key)` 会返回相同的Symbol实例
680+
两次相同的 `Symbol.for(key)` 调用会返回相同的Symbol实例
681681

682682
**提示**:这并不同于 `Symbol(description)`
683683

@@ -687,9 +687,9 @@ Symbol.for('foo') === Symbol('foo') // false
687687
Symbol.for('foo') === Symbol.for('foo') // true
688688
```
689689

690-
一个Symbols常用的使用场景,是需要使用特别 `Symbol.for(key)` 方法来实现代码间的协作
691-
这能让你在你的代码中,查找包含已知的接口的第三方代码中Symbol成员。(译者:这句话好难翻。。。原文:This can be
692-
achieved by having your code look for a Symbol member on object arguments from third parties that contain some known interface. )举个例子
690+
Symbols常用的一个使用场景,尤其是使用 `Symbol.for(key)` 方法,是用于实现代码间的互操作
691+
在你的代码中,通过在包含一些已知接口的第三方库的对象参数中查找Symbol成员,你可以实现这种互操作。
692+
例如
693693

694694
```javascript
695695
function reader(obj) {
@@ -716,13 +716,14 @@ class SomeReadableType {
716716
}
717717
```
718718

719-
> **注意**`Symbol.iterable` 在ES6中像其他可枚举的对象,如数组,字符串,generators一样,当这个方法被调用时会激活一个枚举器并返回一个对象。
719+
> **注意**:关于Symbol互操作的使用,一个值得一提的例子是`Symbol.iterable``Symbol.iterable`存在ES6的所有可枚举对象中:数组(Arrays)、
720+
> 字符串(strings)、生成器(Generators)等等。当它作为一个方法被调用时,它将会返回一个带有枚举接口的对象。
720721
721722
<sup>[(回到目录)](#table-of-contents)</sup>
722723

723724
## Maps
724725

725-
**Maps** 是一个Javascript中很重要(迫切需要)的数据结构。
726+
**Maps** 是一个JavaScript中很重要(迫切需要)的数据结构。
726727
在ES6之前,我们创建一个 **hash** 通常是使用一个对象:
727728

728729
```javascript

0 commit comments

Comments
 (0)