set对象与map对象区别
Set 对象可以接收一维数组和字符串类型添加值
Set 对象只有 value 值
Set 对象可以对数组去重
map对象与object区别
共同点
二者都是以key-value的形式对数据进行存储;
不同点
key 的数据类型范围不同
obj 可以作为 key 的仅有 number、string、symbol。
map 均可以。
key 的顺序不同。
obj 通过 obj.keys()打印出来的属性顺序是 number – 字符串
map 的 key 顺序是声明顺序。
创建方式不同。
obj 有三种创建方式: 字面量{}、new Object() 、构造函数。
map 仅支持 new Map()
key 的调用不同。
map 只能用原生的 get 方法调用。
设置属性的方式不同
map 只能使用 set(key,val)方法设置属性。
Size属性
map 有 size 属性,对象没有。Map.size 返回 Map 中元素的数量,而 Object 的键值对个数只能手动计算