1

js数据类型

数据类型的判断

        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进行保护。

没有进行保护的写法:

        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


渣渣辉
1.3k 声望147 粉丝