ES6新语法之新增数据类型:map,symbol数据类型

10 篇文章 2 订阅
4 篇文章 1 订阅
本文探讨了ES6中新增的数据类型Map和Symbol。Symbol用于创建唯一的标识,解决属性覆盖问题,而Map是Object的增强版,支持任意类型的键值对,提供了更灵活的存储方式。通过示例介绍了Map的创建和数据获取方法。
摘要由CSDN通过智能技术生成

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

输出结果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值