Symbol
ES6中 Symbol数据类型
想必大家在JavaScript的数据类型里面都有了解
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)
而symbol在ES6中表示是原始数据类型,表示独一无二的值。
symbol是什么意思?
首先symbol它是一种解决属性名的冲突,因为它在ES5中的对象属性名都是字符串。
它是一个与字符串类似的数据类型在ES6里symbol表示是独一无二的,它也是JavaScript语言的第七种数据类型 ,如果let不同声明的不同返回来的时候symbol()参数也一样的的情况下得出来的的结果是不相等的。
symbol作用
因为每一个symbol值都是不相等的所以symbol的值可以作为标识符,一般用于对象的属性名,这样就能保证不会出现同名的属性,还对于一个对象由多个模块构成的情况是很有用的,可以防止被某个键不小心覆盖或者改写 ,symbol的值作为对象属性名时,不能用点运算符。当symbol作为属性名的遍历,不会出现在for…in,for…of循环中,也不会被object.keys(),object.getOwnPropertyNames(),JSON.stringify()返回。但是,它也不是私有的属性,有一个object.getOwnPropertySymbols方法,可以获取指定对象的所有Symbol属性名。object.getOwnPropertySymbols方法返回一个数组,成员是当前对象的所有作用属性名的Symbol值。
小编等待更新中。。。。