蘑小De菇

个人技术博客

hi,我是蘑小De菇,一名前端开发者。


记录个人对技术的理解和开发过程中遇到的问题,欢迎了解更多。

weakMap & weakSet

什么是弱引用

在计算机程序设计中,弱引用与强引用相对,是指不能确保其引用的对象不会被垃圾回收器回收的引用。 一个对象若只被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因此可能在任何时刻被回收。

我们其他创建的变量都是强映射,只要变量执行栈没有被执行栈弹出,就不会被垃圾回收机制回收

weakMap(弱映射)

特性

  1. weakMap只接受对象作为键名,别的类型会抛出异常
  2. weakMap对键名为弱引用
  3. 不可迭代(由于不知道什么时候被回收)

方法

和Map基本一致,缺少 clear()方法,并不可迭代

weakSet(弱映射)

特性

  1. weakMap只接受对象作为值,别的类型会抛出异常
  2. weakMap值为弱值,不会阻止垃圾回收机制回收
  3. 不可迭代(由于不知道什么时候被回收

方法

和Set基本一致

下一篇

迭代器

上一篇

git