symbol
symbol
是ES6新增的數據類型,也就是說symbol
是ES6中的第七種數據類型
使用場景
- 給對象屬性名賦值,防止被覆蓋;
- 模擬class私有變量
console.log(Symbol());//Symbol()
console.log(typeof Symbol());// symbol
注意:symbol()
每次調用都要產生一個獨一無二的值
if (Symbol() === Symbol()) {
console.log('不可能相等');
}
let a = Symbol();
let b = Symbol();
console.log(a === b); //-->false
給對象屬性賦值,防止覆蓋
let key = Symbol();
let objG = {};
objG[key] = '你永遠找不到我';
// console.log(obj);
console.log(objG[key]);
symbol描述符
console.log(Symbol('寶寶') === Symbol('寶寶'));//false
symbol.for的用法
for
的key
如果是一樣的,則symbo.for
產生的內容就是一樣的
console.log(Symbol.for('電影') === Symbol.for('電影')); //true