-
ES6新增的数据类型,目的是生成一个独一无二的数据 主要是因为ES5的对象的属性名大多数都为字符串,很容易造成命名冲突。这个数据类型很好的解决了问题。
-
Symbol是可以接受参数的,即使接受的参数一样,所生成的数据也是不一样的
var re = Symbol("hello")
var re2 = Symbol("hello")
console.log(re, re2, re == re2)
- 当作为属性名使用时不能用点语法,需要放在括号里面,如果使用的是点的话就是普通属性名,而不是Symbol数据类型
var x=Symbol("hello")
var obj={}
obj.x=12
obj[x]=22
console.log(obj["x"])//普通属性名
console.log(obj[x])//Symbol数据类型