Symbol
Symbol 是 ES6 引入的新的基本数据类型。Symbol类型是为了解决属性名冲突的问题,顺带还具备模拟私有属性的功能。
简介
创建symbol变量最简单的方法是用Symbol()函数。sysmbol变量有两点比较特别:
它可以作为对象属性名。只有字符串和
symbol类型才能用作对象属性名。没有两个
symbol的值是相等的。
const symbol1 = Symbol();
const symbol2 = Symbol();
symbol1 === symbol2; // false
const obj = {};
obj[symbol1] = 'Hello';
obj[symbol2] = 'World';
obj[symbol1]; // 'Hello'
obj[symbol2]; // 'World'尽管调用Symbol() 让它看起来像是对象,实际上symbol是 JavaScript 原始数据类型。把Symbol当作构造函数来用 new会报错。
参考
最后更新于
这有帮助吗?