WeakSet() constructor
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
The WeakSet() constructor creates WeakSet objects.
Syntax
js
new WeakSet()
new WeakSet(iterable)
Parameters
iterableOptional-
If an iterable object is passed, all of its elements will be added to the new
WeakSet.nullis treated asundefined.
Examples
>Using the WeakSet object
js
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 retained
Note that foo !== bar. While they are similar objects, they are not
the same object. And so they are both added to the set.
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language��Specification> # sec-weakset-constructor> |