ES6 Symbol的使用场景示例

  • Post author:
  • Post category:其他


Symbol是ES6中引入的一个基本数据类型, 它表示独一无二的值.

如果一个对象中要用到两个相同的属性, 那么可以使用Symbol定义它.


场景举例:

我们要用一个对象来保存所有用户的名字和分数, 用户的名字是可以重复的.


数据结构:

let info = [{'用户名': '用户的分数'}...]


模拟数据:

let info = [
        {'小明': 99},
        {'小明': 88},
        {'kjiasd': 8},
        {'jdlakx': 23},
        {'佳佳': 33},
    ]


将模拟数据转化为对象键值对的形式, 使用Symbol作为对象的键名:

// key 代表每一项的键名, 即小明,佳佳...
let obj = {};
    function setData(info){
        info.forEach(v => {
            let key = Object.keys(v)[0];
            let k = Symbol(key);
            obj[k] = v[key];
        
        });
    };
setData(info);


控制台输出obj是这样的形式:



版权声明:本文为Jingwen_molo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。