@@ -17,9 +17,9 @@ typeof s
1717
1818上面代码中,变量` s ` 就是一个独一无二的值。` typeof ` 运算符的结果,表明变量` s ` 是Symbol数据类型,而不是字符串之类的其他类型。
1919
20- 注意,Symbol函数前不能使用 ` new ` 命令,否则会报错。这是因为生成的Symbol是一个原始类型的值,不是对象。也就是说,由于Symbol值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。
20+ 注意,` Symbol ` 函数前不能使用 ` new ` 命令,否则会报错。这是因为生成的Symbol是一个原始类型的值,不是对象。也就是说,由于Symbol值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。
2121
22- Symbol函数可以接受一个字符串作为参数 ,表示对Symbol实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
22+ ` Symbol ` 函数可以接受一个字符串作为参数 ,表示对Symbol实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
2323
2424``` javascript
2525var s1 = Symbol (' foo' );
@@ -34,7 +34,7 @@ s2.toString() // "Symbol(bar)"
3434
3535上面代码中,` s1 ` 和` s2 ` 是两个Symbol值。如果不加参数,它们在控制台的输出都是` Symbol() ` ,不利于区分。有了参数以后,就等于为它们加上了描述,输出的时候就能够分清,到底是哪一个值。
3636
37- 注意,Symbol函数的参数只是表示对当前Symbol值的描述,因此相同参数的Symbol函数的返回值是不相等的 。
37+ 注意,` Symbol ` 函数的参数只是表示对当前Symbol值的描述,因此相同参数的 ` Symbol ` 函数的返回值是不相等的 。
3838
3939``` javascript
4040// 没有参数的情况
@@ -50,7 +50,7 @@ var s2 = Symbol("foo");
5050s1 === s2 // false
5151```
5252
53- 上面代码中,` s1 ` 和` s2 ` 都是Symbol函数的返回值 ,而且参数相同,但是它们是不相等的。
53+ 上面代码中,` s1 ` 和` s2 ` 都是 ` Symbol ` 函数的返回值 ,而且参数相同,但是它们是不相等的。
5454
5555Symbol值不能与其他类型的值进行运算,会报错。
5656
@@ -63,7 +63,7 @@ var sym = Symbol('My symbol');
6363// TypeError: can't convert symbol to string
6464```
6565
66- 但是,Symbol值可以转为字符串 。
66+ 但是,Symbol值可以显式转为字符串 。
6767
6868``` javascript
6969var sym = Symbol (' My symbol' );
@@ -96,7 +96,7 @@ Object.defineProperty(a, mySymbol, { value: 'Hello!' });
9696a[mySymbol] // "Hello!"
9797```
9898
99- 上面代码通过方括号结构和Object .defineProperty,将对象的属性名指定为一个Symbol值。
99+ 上面代码通过方括号结构和 ` Object .defineProperty` ,将对象的属性名指定为一个Symbol值。
100100
101101注意,Symbol值作为对象属性名时,不能用点运算符。
102102
0 commit comments