什么是"符号" JavaScript中的原始数据类型

时间:2016-04-22 14:59:32

标签: javascript ecmascript-6 symbols primitive-types

新的原始类型带有符号类型的ES6。简短定义说:

符号是唯一且不可变的数据类型,可用作对象属性的标识符。符号对象是符号原始数据类型的隐式对象包装器。

我做了一些研究,但我无法理解为什么我们需要这种原始类型呢?

感谢您的回答。

1 个答案:

答案 0 :(得分:14)

这种原始类型对于所谓的"私有"和/或"独特的"密钥。

使用符号,您知道没有其他人不共享此实例(而不是字符串)将无法在地图上设置特定属性。

没有符号的示例:

package.json

在这种情况下,第二个函数调用将覆盖第一个函数中的值。

但是,对于符号,我们不使用"字符串var map = {}; setProp(map); setProp2(map); function setProp(map) { map.prop = "hey"; } function setProp2(map) { map.prop = "hey, version 2"; } ",而是使用实例本身:

prop