The WeakSet() constructor creates WeakSet objects.
new WeakSet()
new WeakSet(iterable)Note: WeakSet() can only be constructed with new. Attempting to call it without new throws a TypeError.
iterable OptionalIf an iterable object is passed, all of its elements will be added to the new WeakSet. null is treated as undefined.
const ws = new WeakSet();
const foo = {};
const bar = {};
ws.add(foo);
ws.add(bar);
ws.has(foo); // true
ws.has(bar); // true
ws.delete(foo); // removes foo from the set
ws.has(foo); // false, foo has been removed
ws.has(bar); // true, bar is retainedNote that foo !== bar. While they are similar objects, they are not the same object. And so they are both added to the set.