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): "李四"}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容