JavaScript 中的 WeakSet 是一个构造函数,它提供了一种将对象添加到集合中的方式,并且这些对象都是弱引用。这意味着如果没有其他对象引用这些对象,那么垃圾回收机制可能会自动回收这些对象,并且 WeakSet 中的这些对象也会被自动删除。
使用 WeakSet 的一个常见场景是将其用作缓存,以便在需要时检索对象,但是如果这些对象不再被使用,则可以自动从缓存中删除。
下面是一个简单的例子,展示了如何创建 WeakSet 并向其添加对象:
const myWeakSet= new WeakSet();
const object1 = {};
const object2 = {};
myWeakSet.add(object1);
myWeakSet.add(object2);
console.log(myWeakSet.has(object1)); // true
console.log(myWeakSet.has(object2)); // true
注意,WeakSet 不能进行迭代,因此无法使用 for-of 循环或其他方式来遍历 WeakSet 中的元素。此外,WeakSet 也没有 size 属性,因此无法确定它包含多少元素。