Symbol数据类型
概念:这种数据类型提供一个独一无二的值,也就是说Symbol声明的变量a和变量b永远不可能相等。
声明
let a = Symbol();
let b = Symbol();
console.log(a === b);
//false
let c = Symbol.for("aaa");
let d = Symbol.for("aaa");
console.log(c === d);
//true
let a = Symbol.for('abc');
let obj = {
[a]:'111',
'abc':222,
'b':333
};
console.log('obj',obj);
//{abc: 222, b: 333, Symbol(abc): "111"}
console.log(Symbol.keyFor(a));
// abc 检索字符串键
Object.getOwnPropertySymbols(obj).forEach(function (item) {
console.log('getOwnPropertySymbols', obj[item]);
//111
});
Reflect.ownKeys(obj).forEach(function (item){
console.log('ownKeys', item, obj[item]);
/*ownKeys abc 222
* ownKeys b 333
* ownKeys Symbol(abc) 111
* */
});
上一篇:2017.12.24|2017.12.24 平安也快乐
下一篇:奔向你的城市