📅  最后修改于: 2023-12-03 15:16:07.477000             🧑  作者: Mango
WeakSet
是一种弱引用集合,其中存储的对象都是弱引用。它的 add()
方法用于向集合中添加一个弱引用对象。如果集合中已经存在该对象,那么 add()
方法将会忽略该操作。
weakSet.add(value)
value
: 必须。向集合中添加的弱引用对象。WeakSet
实例本身。因此,可以使用链式语法来添加多个元素。
const weakSet = new WeakSet();
const obj1 = { name: 'Emily' };
const obj2 = { name: 'John' };
weakSet.add(obj1);
weakSet.add(obj2);
console.log(weakSet.has(obj1)); // true
console.log(weakSet.has(obj2)); // true
weakSet.add(obj1); // 不会产生任何影响
console.log(weakSet.size); // undefined
上面的示例创建一个 WeakSet
实例,并使用 add()
方法向其中添加两个对象。这两个对象都是弱引用对象,因此 WeakSet
实例并不会管理它们的生命周期。
add()
方法返回的是 WeakSet
实例本身,因此可以使用链式语法向集合中添加多个元素。
在示例中,我们尝试向集合中添加已经存在的对象,并没有产生任何影响。这是因为 WeakSet
实例中存储的是弱引用,因此它们并不是相等关系。
最后,我们尝试使用 size
属性获取集合中元素的数量,但是返回的却是 undefined
。这是因为 WeakSet
实例并没有 size
属性,它也没有任何方法获取存储的元素数量。