p24
ES6新增了一种特殊类型Symbol(符号),用于对语言进行扩展而不破坏向后兼容性。
p40
符号(Symbol)是ES6新增的一种原始类型,用作非字符串的属性名。
在ES6和之后的版本中,符号也可以作为属性名。
let strname = "string name" // 可以用作属性名的字符串
let symname = Symbol("propname")// 可以用作属性名的符号
typeof strname // =>"string":strname是字符串
typeof symname // =>"symbol":symname是符号
let o = {} // 创建一个新对象
o[strname] = 1 // 使用字符串名定义一个属性
o[symname] = 2 // 使用符号名定义一个属性
o[strname] // =>1:访问字符串名字的属性
o[symname] // =>2:访问符号名字的属性