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
Loading…