WeakMap

WeakMap中的key必须存储弱引用对象,且只能存储引用类型数据,不接受原始类型数据。value可以是任意数据类型。
关键点弱的意思是虽然WeakMap引用了该对象,但是不会阻止垃圾回收。
关键点因为WeakMap中的对象引用随时可能会失效,因此原型对象里没有迭代其值的方法。

WeakMap(iteratable object)

  1. const wm = new WeakMap()
  2. const o1 = {}
  3. wm.set(o1, 42)

实例化对象

image.png
WeakMap - 图2

原型方法

WeakMap - 图3