一.Symbol是什么
typeof Symbol() === 'symbol'涣仿,symbol是js中第7種基本類型(本來就有的6種是null, undefined, Number, Boolean, Object, String)瞻凤,不是字符串也不是對象
作用:symbol用來避免命名沖突,解決了篡改(添加屬性)原生對象的后遺癥藻糖,不用擔(dān)心屬性名以后和原生屬性名或者其它類庫操作沖突
二.語法
獲取Symbol有3種方式,如下:
1.Symbol(desc)
返回symbol抢野,desc可選横辆,symbol.toString()返回`Symbol(${desc})`懂酱,例如:
var obj = {
? ? a: 1
};
// 不用new竹习,Symbol不是構(gòu)造器
var safeKey = Symbol();
obj[safeKey] = 'value';
console.log(obj[safeKey]);? // value
var anotherSafeKey = Symbol('isAnimActive');
console.log(anotherSafeKey);? ? // Symbol(isAnimActive)