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

相关文章
相关标签/搜索