WeakSet.prototype.add()
En esta página
The add() method of {{jsxref("WeakSet")}} instances inserts the specified value into this set, if it is not already present.
{{InteractiveExample("JavaScript Demo: WeakSet.prototype.add()", "taller")}}
```js interactive-example const weakset = new WeakSet(); const object = {};
weakset.add(object); console.log(weakset.has(object)); // Expected output: true
try { weakset.add(1); } catch (error) { console.log(error); // Expected output (Chrome): TypeError: Invalid value used in weak set // Expected output (Firefox): TypeError: WeakSet value must be an object, got 1 // Expected output (Safari): TypeError: Attempted to add a non-object key to a WeakSet }
## Syntax
```js-nolint
add(value)
Parameters#
value- : The value to add to the
WeakSetobject. Must be either an object or a non-registered symbol. Objects are compared by reference, not by value.
Return value#
The WeakSet object.
Exceptions#
- {{jsxref("TypeError")}}
- : Thrown if
valueis not an object or a non-registered symbol.
Examples#
Using add()#
const ws = new WeakSet();
ws.add(window); // add the window object to the WeakSet
ws.has(window); // true
// WeakSet only takes objects as arguments
ws.add(1);
// results in "TypeError: Invalid value used in weak set" in Chrome
// and "TypeError: 1 is not a non-null object" in Firefox
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- {{jsxref("WeakSet")}}
- {{jsxref("WeakSet.prototype.delete()")}}
- {{jsxref("WeakSet.prototype.has()")}}