根据规范,对象的属性键只能是字符串类型或者 Symbol 类型。现在我们来看看 Symbol 能给我们带来什么好处。"Symbol" 值表示唯一的标识符。JavaScript 的 Symbol 是不同的。JavaScript 中的大多数值都支持字符串的隐式转换。Symbol 比较特殊,它不会被自动转换。例如,这个 alert 将会提示出错:这是一种防止混乱的“语言保护”,因为字符串和 Symbol 有本质上的不同,不应该意外地将它们转换成另一个。例如,应用程序的不同部分想要访问的 Symbol "id" 指的是完全相同的属性。在一些编程语言中,例如 Ruby,每个名字都有一个 Symbol。如果 Symbol 不是全局的,它将无法找到它并返回 undefined。也就是说,任何 Symbol 都具有 description 属性。
暂无评论