The WeakSet
constructor lets you create WeakSet
objects that store weakly held objects in a collection.
WeakSet() constructor
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
Browser compatibility
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | Deno | Node.js | |
WeakSet |
36
|
12
|
34
|
No
|
23
|
9
|
37
|
36
|
34
|
24
|
9
|
3.0
|
1.0
|
0.12.0
|
iterable_allowed |
38
|
12
|
34
|
No
|
25
|
9
|
38
|
38
|
34
|
25
|
9
|
3.0
|
1.0
|
0.12.0
|
null_allowed |
36
|
12
|
37
|
No
|
23
|
9
|
37
|
36
|
37
|
24
|
9
|
3.0
|
1.0
|
0.12.0
|
See also
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/WeakSet