WeakSet() constructor

The WeakSet constructor lets you create WeakSet objects that store weakly held objects in a collection.

Syntax

new WeakSet()
new WeakSet(iterable)

Parameters

iterable

If an iterable object is passed, all of its elements will be added to the new WeakSet. null is treated as undefined.

Examples

Using the WeakSet object

var ws = new WeakSet();
var foo = {};
var 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 Language Specification (ECMAScript)
# sec-weakset-constructor

Browser compatibility

BCD tables only load in the browser

See also