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 ein neues Objekt am Ende dieses WeakSet hinzu.

Probieren Sie es aus

const weakset1 = new WeakSet();
const object1 = {};

weakset1.add(object1);
console.log(weakset1.has(object1));
// Expected output: true

try {
  weakset1.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

Muss entweder ein Objekt oder ein nicht registriertes Symbol sein. Der Wert, der der WeakSet-Sammlung hinzugefügt wird.

Rückgabewert

Das WeakSet-Objekt.

Ausnahmen

TypeError

Wird ausgelöst, wenn value weder ein Objekt noch 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® 2025 Language Specification
# sec-weakset.prototype.add

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch