ES學習筆記(12)--Symbol

js數據類型

數據類型的判斷web

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 (f)); //symbol

Symbol的打印

var g = Symbol("jie");
        console.log(g) //紅色
        console.log(g.toString())

clipboard.png

Symbol在對象中的應用

.屬性

var jie = Symbol();
        var obj = {
            [jie]: "傑"
        } 
        console.log(obj.jie);  //underfind
        obj.jie = "web";
        console.log(obj.jie)  //web

[屬性]

var jie = Symbol();
        var obj = {
            [jie]: "傑"
        }
        console.log(obj[jie]);  //傑
        obj[jie] = "web";
        console.log(obj[jie])  //web

Symbol對象元素的保護做用

在對象中有不少值,可是循環輸出時,並不但願所有輸出,那咱們就能夠使用Symbol進行保護。spa

沒有進行保護的寫法:

var obj = {
            name:'jie',
            skill:'web',
            age:18
        }
        for(let item in obj){
            console.log(obj[item]);
        }
        //jie
        //web
        //18

如今我不想別人知道個人年齡,這時候我就能夠使用Symbol來進行循環保

var obj = {
            name: 'jie',
            skill: 'web',
        }
        let age = Symbol();
        obj[age] = 18;
        for (let item in obj) {
            console.log(obj[item]);  //jie web
        }
        console.log(obj)  //{name: "jie", skill: "web", Symbol(): 18}

clipboard.png

相關文章
相關標籤/搜索