JS中的Symbol数据类型

时间:2024-09-27 13:07:08

最初JS的6种数据类型:

null,undefined,boolean,number,string,object

注意:实际上,array和function都是属于object的子类

ES6中,新增了一种数据类型Symbol,现在共7种数据类型

判断:

typeof Symbol() === 'symbol'

特点:

Symbol('key') !== Symbol('key') //true

Symbol类型的对象永远不相等,即便创建它们的时候传入了相同的值,因此,可借助此特性解决属性名的冲突问题(比如适用于多人编码的时候),这也是该数据类型存在的主要用途,意为标记

例子:

var sym = Symbol('foo');

var obj = {[sym] : 1};

obj[sym] === 1 //true

参考链接:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol