美文网首页
ES6--Symbol

ES6--Symbol

作者: bjhu电net | 来源:发表于2017-09-21 13:11 被阅读0次

    Symbol的概念

    ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)

    {
        //声明
        let a1=Symbol();
        let a2=Symbol();
        console.log(a1===a2);
        //false
        let a3=Symbol.for('a3')
        let a4=Symbol.for('a3')
        console.log(a3===a4)
        //true
    }
    {
        let a1=Symbol.for('abc');
        let obj={
            [a1]:'123',
            "abc":"345",
            "c":"456"
        }
        console.log(obj);
        //{abc: "345", c: "456", Symbol(abc): "123"}  注:for in和let of拿不到Symbol定义的key值
        //可以通过Object.getOwnPropertySymbols(obj)得到
        Reflect.ownKeys(obj).forEach(function(item){
            console.log(item)
        })
        //abc
        //c
        //Symbol(abc)
    }
    

    相关文章

      网友评论

          本文标题:ES6--Symbol

          本文链接:https://www.haomeiwen.com/subject/owpzsxtx.html