ES6新增的数据类型-Symbol

ES5对象属性名都是字符串,容易造成属性名冲突

ES6引入新的原始数据类型Symbol表示独一无二的值

对象的属性值可以有两种类型:字符串 ,Symbol类型(独一无二不会与其他属性名发生冲突)

 //1.定义

    let str1 = Symbol();

    let str2 = Symbol();

    console.log(str1 === str2);

    console.log(typeof str1);

    //2.描述

    let str3 = Symbol('name');

    let str4 = Symbol('name');

    console.log(str3);

    console.log(str4);

    console.log(str3 === str4);//false

//3.对象的属性名

    const obj = {};

    obj.name ='张三';

    obj.name ='李四';

    console.log(obj);  //李四

    obj[Symbol('name')] ='张三';

    obj[Symbol('name')] ='李四';

    console.log(obj);//{Symbol(name): "张三", Symbol(name): "李四"}

你可能感兴趣的:(ES6新增的数据类型-Symbol)