The following four data structures are new in ECMAScript 6: Map
, WeakMap
, Set
and WeakSet
.
The WeakSet object lets you store weakly held objects in a collection.
WeakSets have only three methods, all of them work the same as the Set methods.
WeakSet.prototype.add(value)
WeakSet.prototype.has(value)
WeakSet.prototype.delete(value)
WeakSet
collection can‘t be iterated and we cannot determine its size.
Examples
var ws = new WeakSet();
var obj = {};
var foo = {};
ws.add(window);
ws.add(obj);
ws.has(window); // true
ws.has(foo); // false, foo has not been added to the set
ws.delete(window); // removes window from the set
ws.has(window); // false, window has been removed