美文网首页
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

    Symbol的概念 ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的...

  • es6--Symbol

    symbol 原始数据类型表示的是独一无二的值,意味着内存地址是不相等的最大的用途:用来定义对象的私有变量 //获...

网友评论

      本文标题:ES6--Symbol

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