symbol : 避免命名相同,避免值冲突,或者申明两个永不相同的值(UUID的感觉)
(1) symbol 是基本类型, 且不能使用 new (其他基本类型如 new String)
(2) 要取到 Symbol 的参数值, 使用 symbol(‘xxxx’).description symbol.for(‘xxxx’).description symbol.keyfor(变量)
(3) let t= Symbol('1'); let tt = Symbol('1'); t == tt //false
(4) let t= Symbol.for('1'); let tt = Symbol.for('1'); t === tt //true
(5) let t= Symbol(); let tt = Symbol(); t == tt //false
(6) let t= Symbol.for(); let tt = Symbol.for(undefined); t === tt //true
(7) + symbol() ; symbol()+ '' ; // error symbol类型不能参与运算