15.Symbol

作者: dptms | 来源:发表于2017-10-27 14:14 被阅读22次

    Symbol

    Symbol 是 ES6 新引入的数据类型,它是一种特殊的、不可变的数据类型,用来生成唯一的标识符。

    // 场景:一个班有两个叫做 Nina 的,可以用 Symbol 生成唯一标识,括号里面的内容作为描述
    const classRoom = {
        'Lily': { grade: 60, gender: 'femal' },
        [Symbol('Nina')]: { grade: 80, gender: 'femal' },
        [Symbol('Nina')]: { grade: 90, gender: 'femal' },
    }
    console.log(classRoom);
    

    但是需要注意的是,如果对象的属性是 Symbol 类型的值的话,是不能遍历的。如果想获取对象中 Symbol 类型属性的值,可以如下:

    const syms = Object.getOwnPropertySymbols(classRoom).map(sym => classRoom[sym]);
    // 在这个地方用到 classRoom[sym] 中括号的方式来获取,是为了避免把 sym 当做一个字符串
    

    相关文章

      网友评论

          本文标题:15.Symbol

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