创建一个 WeakMap 对象

WeakMap 对象允许你存储键/值对。与 Map 的不同之处在于键必须是对象并且被弱引用。这意味着如果没有对该键的任何其他强引用,则可以通过垃圾收集器删除 WeakMap 中的元素。

WeakMap 构造函数有一个可选参数,它可以是包含键/值对作为双元素数组的任何可迭代对象(例如 Array)。

const o1 = {a: 1, b: 2},
      o2 = {};

const weakmap = new WeakMap([[o1, true], [o2, o1]]);