码迷,mamicode.com
首页 > 其他好文 > 详细

ES6 第十二节 Symbol在对象中的作用

时间:2020-03-23 16:47:52      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:let   typeof   全局   构建   ade   kill   ref   web   mamicode   

ES6 第十二节 Symbol在对象中的作用


第十二节 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));   //object

Symbol的打印

我们声明一个Symbol,然后控制台输出:

var g = Symbol(‘da0sy‘);
console.log(g);
console.log(g.toString());

技术图片

没有toString的是红字,toString的是黑字。

Symbol在对象中的应用

看一下如何用Symbol构建对象的Key,并调用和赋值。

var da0sy = Symbol();
var obj={
    [da0sy]:‘黛西‘
}
console.log(obj[da0sy]);   //黛西
obj[da0sy] = ‘web‘;
console.log(obj[da0sy]);   //web

Symbol对象元素的保护作用

在对象中有很多值,但是循环输出时,并不希望全部输出,那我们就可以使用Symbol进行保护。

没有进行保护的写法:

var obj={name:‘da0sy‘,skill:‘web‘,age:18};

for (let item in obj){
    console.log(obj[item]);
}

现在我不想别人知道我的年龄,这时候我就可以使用Symbol来进行循环保护。

let obj={name:‘da0sy‘,skill:‘web‘};
let age=Symbol();
obj[age]=18;

for (let item in obj){
    console.log(obj[item]);
} 

ES6 第十二节 Symbol在对象中的作用

标签:let   typeof   全局   构建   ade   kill   ref   web   mamicode   

原文地址:https://www.cnblogs.com/Elva3zora/p/12552947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!