es6学习-9
Posted 小凡的耿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6学习-9相关的知识,希望对你有一定的参考价值。
Symbol在对象中的作用
通过场景应用的方式学习Symbol,它的意思是全局标记。我们先看看它的声明方式。
声明Symbol
我们先来回顾一下我们的数据类型,在最后在看看Symbol如何声明,并进行一个数据类型的判断。
var a = new String; var b = new Number; var c = new Boolean; var d = new Array; var e = new Object; var f= Symbol(); console.log(typeof(d));
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);
以上是关于es6学习-9的主要内容,如果未能解决你的问题,请参考以下文章