WeakSets

一个WeakMap弱持有它的键(但强持有它的值),而一个WeakSet弱持有它的值(不存在真正的键)。

  1. var s = new WeakSet();
  2. var x = { id: 1 },
  3. y = { id: 2 };
  4. s.add( x );
  5. s.add( y );
  6. x = null; // `x` 可以GC
  7. y = null; // `y` 可以GC

警告: WeakSet的值必须是对象,在set中被允许的基本类型值是不行的。