Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WeakSet.prototype.add()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2015⁩.

Die add() Methode von WeakSet Instanzen fügt den angegebenen Wert in diese Menge ein, falls er noch nicht vorhanden ist.

Probieren Sie es aus

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
add(value)

Parameter

value

Der Wert, der zum WeakSet Objekt hinzugefügt werden soll. Muss entweder ein Objekt oder ein nicht registriertes Symbol sein. Objekte werden nach Referenz und nicht nach Wert verglichen.

Rückgabewert

Das WeakSet Objekt.

Ausnahmen

TypeError

Wird ausgelöst, wenn value kein Objekt oder ein nicht registriertes Symbol ist.

Beispiele

Verwendung von add()

js
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

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-weakset.prototype.add

Browser-Kompatibilität

Siehe auch