校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > ES6相关(后面会废弃)
题目

Set、Map 与 WeakSet、WeakMap 有什么不同?

解答

WeakSet 结构与 Set 类似,也是不重复的值的集合。

但是它与 Set 有两个区别:

(1)WeakSet 的成员只能是对象,不能是其他类型的值;

(2)WeakSet 不可遍历:
因为,WeakSet 中的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用,其他对象都不在引用该对象时,垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象是否还存在与 WeakSet 中。

WeakMap 结构与 Map 结构基本类似,只接受对象作为键名(null 除外),不接受其他类型的值作为键名,而且键名所指向的对象不计入垃圾回收机制。

无 size 属性,无遍历方法,无法清空,键名不计入引用,只有 4 个方法:get()、set()、has()、delete()。

C 0条回复 评论

帖子还没人回复快来抢沙发