zoukankan      html  css  js  c++  java
  • ES6 第十二节 Symbol在对象中的作用

    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]);
    } 
    
  • 相关阅读:
    进阶算子
    Scala中sortBy和Spark中sortBy区别
    简单算子演示
    map和FlatMap之间区别?
    RDD
    Spark高可用
    Django Rest Framework
    Scrapy
    asyncio
    BeautifulSoup
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12552947.html
Copyright © 2011-2022 走看看