📅  最后修改于: 2023-12-03 15:16:07.498000             🧑  作者: Mango
weakSet.add()
方法可以向 WeakSet 对象中添加一个新元素。WeakSet 对象只能存储对象值类型的唯一值,且这些值都是弱引用。
weakSet.add(value);
value
:要添加到 WeakSet 对象中的对象。weakSet.add()
方法没有返回值,但在添加新元素到 WeakSet 对象后会改变它。
const weakSet = new WeakSet();
const obj1 = { name: "John" };
const obj2 = { name: "Jane" };
// 向 WeakSet 对象添加新元素
weakSet.add(obj1);
weakSet.add(obj2);
// 再次尝试添加相同的元素
weakSet.add(obj1);
weakSet.add(obj2);
// WeakSet 对象中的元素数量为 2
console.log(weakSet.size); // undefined
// 检查 WeakSet 对象中是否有指定对象
console.log(weakSet.has(obj1)); // true
console.log(weakSet.has(obj2)); // true
weakSet.add()
方法只接受对象值类型的唯一值作为参数。如果传入的参数不是对象,或者是已经存在于 WeakSet 对象中的对象,则不会被添加到 WeakSet 对象中。for..of
循环来访问它的元素。size
属性是 undefined,因为无法准确地知道 WeakSet 对象中有多少个元素。