Skip to content

Commit 86c40d6

Browse files
committed
edit docs/destructuring
1 parent 6bb960e commit 86c40d6

File tree

3 files changed

+15
-13
lines changed

3 files changed

+15
-13
lines changed

docs/destructuring.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ var x;
159159

160160
```
161161

162-
上面代码的写法会报错,因为JavaScript引擎会将`{x}`理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,才能避免这个问题
162+
上面代码的写法会报错,因为JavaScript引擎会将`{x}`理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,避免JavaScript将其解释为代码块,才能解决这个问题
163163

164164
```javascript
165165

docs/object.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -193,26 +193,28 @@ symbol的最大特点,就是每一个symbol都是不相等的,保证产生
193193

194194
```javascript
195195

196-
let red = Symbol();
197-
let green = Symbol();
198-
let blue = Symbol();
196+
let w1 = Symbol();
197+
let w2 = Symbol();
198+
let w3 = Symbol();
199199

200-
function handleColor(color) {
201-
switch (color) {
202-
case red:
200+
function f(w) {
201+
switch (w) {
202+
case w1:
203203
...
204-
case green:
204+
case w2:
205205
...
206-
case blue:
206+
case w3:
207207
...
208208
}
209209
}
210210

211211
```
212212

213-
上面代码中,red、green、blue三个变量都是Symbol类型,它们的值是不相等的
213+
上面代码中,w1、w2、w3三个变量都等于`Symbol()`,但是它们的值是不相等的
214214

215-
由于这种特点,Symbol类型适合作为标识符,用于对象的属性名,保证了属性名之间不会发生冲突。如果一个对象由多个模块构成,不会出现同名的属性。
215+
由于这种特点,Symbol类型适合作为标识符,用于对象的属性名,保证了属性名之间不会发生冲突。如果一个对象由多个模块构成,这样就不会出现同名的属性。
216+
217+
Symbol类型作为属性名,可以被遍历,Object.getOwnPropertySymbols()和Object.getOwnPropertyKeys()都可以获取该属性。
216218

217219
```javascript
218220

docs/set-map.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ map.forEach(function(value, key, map) {
286286
287287
WeakMap结构与Map结构基本类似,唯一的区别是它只接受对象作为键名(null除外),不接受原始类型的值作为键名。
288288
289-
WeakMap的设计目的在于,键名是对象的弱引用(垃圾回收机制不将该引用考虑在内),所以其所对应的对象可能会被自动回收。当对象被回收后,WeakMap自动移除对应的键值对。典型应用是,一个对应DOM元素的WeakMap结构,当某个DOM元素被清除,其所对应的WeakMap记录就会自动被移除。基本上,WeakMap的专用场合就是,它的键所对应的对象,可能会在将来消失。
289+
WeakMap的设计目的在于,键名是对象的弱引用(垃圾回收机制不将该引用考虑在内),所以其所对应的对象可能会被自动回收。当对象被回收后,WeakMap自动移除对应的键值对。典型应用是,一个对应DOM元素的WeakMap结构,当某个DOM元素被清除,其所对应的WeakMap记录就会自动被移除。基本上,WeakMap的专用场合就是,它的键所对应的对象,可能会在将来消失。WeakMap结构有助于防止内存泄漏。
290290
291291
下面是WeakMap结构的一个例子,可以看到用法上与Map几乎一样。
292292
@@ -308,4 +308,4 @@ console.log(value); // undefined
308308

309309
```
310310
311-
WeakMap还有has和delete方法,但没有size方法,也无法遍历它的值,这与WeakMap的键被垃圾回收机制忽略有关
311+
WeakMap还有has和delete方法,但没有size方法,也无法遍历它的值,这与WeakMap的键不被计入引用、被垃圾回收机制忽略有关

0 commit comments

Comments
 (0)