Documentación offline JavaScript main

WeakSet.prototype.add()

main Documentación oficial Licencia CC-BY-SA-2.5Descargado el 2026-08-02

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 WeakSet object. Must be either an object or a non-registered symbol. Objects are compared by reference, not by value.

Return value#

The WeakSet object.

Exceptions#

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()")}}