ES6新语法之新增数据类型:map,symbol数据类型
1.symbol数据类型:
作用:创建一个独一无二的值,不会出现相同的值;防止出现匿名冲突。属性的覆盖问题
let name = Symbol("name"); let result = Symbol("name"); console.log(name == result)// 返回false let obj={ eat(){ console.log(this[name]) console.log("吃饭") } } obj[name]="尼古拉斯赵四"; obj.name="刘能"; //eat方法会输出尼古拉斯赵四 obj.eat();
注意:即使在外部修改对象的name,最终还是输出原来定义的值,通过symbol类型将name创建为独一无二的值; 每个从Symbol()返回的symbol值都是唯一的。一个symbol值能作为对象属性的标识符;这是该数据类型仅有的目的。
2.map数据类型:
作用:Map是一个类似于对象的数据类型,它是object的升级版,它可以将任何类型的数据作为key值;
map的写法:
// let a = new Map(); //创建一个map对象 a.set(name , 张三); //赋值
获取map数据类型中的数据:
通过get方法获取
const m = new Map([ [name,张三] , [age,18] ]); console.log(m.get(name)); //获取Map数据类型并在打印输出
输出结果为:
上一篇:
Java基础知识总结(2021版)
下一篇:
js作用域与原型的笔试题