4.介绍下 Set、Map、WeakSet 和 WeakMap 的区别

set总结:

1.成员唯一、无序且不重复;

2.[value,value],键值与健名是一致的;

3.可以遍历,方法有add、delete、has,clear、entries、forEach、keys、values

4.set也能用来保存NaN和undefinded,如果有重复的NaN,set会认为就一个NaN(实际上NaN!=NaN)


weakSet:

成员都是对象,可以被垃圾回收机制回收,可以用来保存DOM节点,不容易造成内存泄漏,不能遍历,方法有add,delete,has

map:

本质上是键值对的集合,类似集合;

可以遍历,方法很多,可与跟各种数据隔三转换

weakmap:

只接受对象为健名,不接受其他类型的值作为健名;

健名是弱引用,键值可以是任意的,健名所指向的对象可以被垃圾回收,此时健名是无效的;

不能遍历,方法有get,set,has,delete

你可能感兴趣的:(4.介绍下 Set、Map、WeakSet 和 WeakMap 的区别)