Symbol的打印
我们先声明一个Symbol,然后我们在控制台输出一下。
var g = Symbol('jspang');console.log(g);console.log(g.toString());
这时候我们仔细看控制台是有区别的,没有toString的是红字,toString的是黑字。
Symbol在对象中的应用
看一下如何用Symbol构建对象的Key,并调用和赋值。
var jspang = Symbol();var obj={ [jspang]:'技术胖'}console.log(obj[jspang]);obj[jspang]='web';console.log(obj[jspang]);
Symbol对象元素的保护作用
在对象中有很多值,但是循环输出时,并不希望全部输出,那我们就可以使用Symbol进行保护。没有进行保护的写法:
var obj={name:'jspang',skill:'web',age:18}; for (let item in obj){ console.log(obj[item]);}
现在我不想别人知道我的年龄,这时候我就可以使用Symbol来进行循环保护。
let obj={name:'jspang',skill:'web'};let age=Symbol();obj[age]=18;for (let item in obj){ console.log(obj[item]);} console.log(obj);