Symbol类型(新数据类型)
表示独一无二的值,常用来定义对象的私有变量,类似于字符串的数据类型,在声明变量时,只用Symbol就可以了,并且取值的时候,一定要用[变量名]
如:
Let s1 = Symol('s1');
let obj = {};
obj[s1] = '小马哥'; //还可以这样 let obj = { [s1] : '小马哥'};
console.log(obj[s1]);//不能使用obj.s1
获取Symbol的值:
let s = Object.getOwnPropertySymbols(obj);
Set类型(建立一个集合)
即无重复的有序列表
let set = new Set
添加元素
在增加相同的元素是,会自动忽略
set.add(2);
set.add('4');
删除元素
set.delete(2);
校验某个值是否存在:
console.log(set.has('4'));
检查集合的长度:
console.log(set.size);
将set转换成数组:(使用扩展运算符)
let set2 = new Set([1,2,3,3,3,4]);
let arr = [...set2]; //若没有这行,直接输出set2的话,结果为Set(4){1,2,3,4}
console.log(arr); //输出Array(4)[1,2,3,4]
Map类型 (键值对的有序列表)
键和值是任意类型:
语法:
变量名.set('key','value'); //打印出来的值会显示成key=>value
如
let map = new Map();
map.set('name','张三');
map.set('age',20);
输出样式:
获去Map的值:
console.log(map.get('name')); //直接输出张三
判断是否存在一个属性值
变量名.has('属性值');
如:
map.has('name'); //若存在,则返回true,反之则false
删除元素
变量名.delete('属性值');
如:
map.delete('name');