高级前端
js
【Q562】WeakMap 与垃圾回收有何关系

WeakMap 与垃圾回收有何关系

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 577 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

WeakMapMap 有亮点不同

  1. 键值只能为引用对象,无法使用基础数据类型
  2. 弱引用,无法枚举,因此无 .entries() 方法

Author 回答者: illumi520 (opens in a new tab)

WeakSet不能遍历,是因为成员都是弱引用,随时可能消失,遍历机制无法保证成员的存在,很可能刚刚遍历结束,成员就取不到了。WeakSet的一个用处,是储存DOM节点,而不用担心这些节点从文档移除时,会引发内存泄漏。