本文实例讲述了ES6学习笔记之新增数据类型。分享给大家供大家参考,具体如下:
1,数据解构赋值
1,数组的解构赋值
基本用法:let [key1 key2…]=[value1, value2…]
让(姓名、年龄、性别)=(“小明”,24日'男']; console.log(名称); console.log(年龄); console.log(性); >之前注意左右的键与值格式要匹配对应,键值可以缺省,但逗号的位置要正确
让[arr1, [arr3, [, arr6]]]=[1, 2, [31、32 [331332]]]; console.log (arr1); console.log (arr3); console.log (arr6); >之前2,对象的解构赋值
用法:let {key1 key2…}={key1: value1, key2: value2…},,
让obj={名字:“小明”,年龄:24岁,性别:男,朋友:[‘小张”,“小”李]}; console.log (obj.name); console.log (obj.age); console.log (obj.sex); console.log (obj.friend); >之前3,字符串类型
字符串中每个字符与数组键对应
让[a, b, c]="这是一个字符串”; console.log(一个); console.log (b); console.log (c); >之前2,新增数据类型组集合
设置与数组不同在于设置中不可以有重复数据,常用于去重操作
1,创建组
让myset=new ([‘data1’,‘data2’,‘data3’, ' data3 ']); >之前2,属性大小:集合的元素个数,
console.log (myset.size); >之前3,方法
myset.add (data4);//增加元素 myset.delete (data2);//删除元素 console.log (myset.has (' data1 '));//判断是否含有某个元素,包含返回现实 myset.clear();//清除集合所有元素 console.log (myset.keys());//返回集合所有的键值 console.log (myset.values());//返回集合所有值 >之前3,新增数据类型地图
由于对象的键值只能是字符串,不可以是对象类型,使用对象作为键值会被toString转化为字符串“[对象对象]”,例如:
让其中obj1={关键:1},methoda={关键:2},obj={}; obj.value=' https://www.yisu.com/zixun/objValue '; obj[其中obj1]=皁bj1Value”;//将对象其中obj1作为obj的键值 obj [methoda]=皁bj2Value”; console.log (obj); >之前输出:对象{值:“objValue”,“(对象对象)”:“obj2Value”},由于转化为相同的键值字符串,methoda会覆盖其中obj1
而使用地图可以避免键值必须为字符串的限制,其键值可以为对象、数组等
1,创建地图/h4>
让关联=新地图([ (“stringKey”、“stringValue”), (“年龄”,24) (其中obj1 ' obj1Value '], [methoda, ' obj2Value '], [[“加勒比海盗”],' arrValue '] ]); >之前打印关联如下:
2,属性大小:返回地图中键值对个数,
console.log (mymap.size); >之前3,方法
mymap.set(“关键”、“价值”);//设置映射的键,值 mymap.get(关键);//通过键来取的值 mymap.delete(关键);//删除对应的键值 mymap.has(关键);//判断是否含有//mymap.clear();//清除图中所有键值//遍历 关联。forEach(函数(值,键){ console.log(键+“:”+值); }) >之前4,注意{}与{}是不同的两个键值
mymap.set({},“其中obj1”); methoda“mymap.set ({}); >之前以上语句methoda不会覆盖其中obj1,由于空对象{}在内存中不同的堆区申请存储空间,所以作为键值它们是不同的
4,象征类型
在用相同的字符串对对象属性名或方法进行命名时会发生命名冲突,而使用象征产生的名字是不同的,例如:
让obj={}; obj(符号('名称'))=靶≌浴? obj(符号('名称'))=靶∏? console.log (obj);ES6学习笔记之新增数据类型实例解析