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数据类型并在打印输出

输出结果为:

经验分享 程序员 微信小程序 职场和发展