Suche…
Syntax
- neues WeakSet ([iterable]);
- weakset.add (Wert);
- weakset.has (Wert);
- weakset.delete (Wert);
Bemerkungen
Für die Verwendung von WeakSet siehe ECMAScript 6: Wozu dient WeakSet? .
Erstellen eines WeakSet-Objekts
Das WeakSet-Objekt wird zum Speichern von schwach gehaltenen Objekten in einer Sammlung verwendet. Der Unterschied zu Set ist, dass Sie keine Grundwerte wie Zahlen oder Zeichenfolge speichern können. Auch Verweise auf die Objekte in der Auflistung werden schwach gehalten. Wenn also kein anderer Verweis auf ein in einem WeakSet gespeichertes Objekt vorhanden ist, kann es Müll gesammelt werden.
Der WeakSet-Konstruktor verfügt über einen optionalen Parameter, der ein beliebiges iterierbares Objekt sein kann (beispielsweise ein Array). Alle Elemente werden dem erstellten WeakSet hinzugefügt.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1, obj2]);
Wert hinzufügen
Verwenden Sie die Methode .add()
um einem WeakSet einen Wert hinzuzufügen. Diese Methode ist kettenfähig.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet();
weakset.add(obj1).add(obj2);
Überprüfen, ob ein Wert vorhanden ist
Verwenden Sie die Methode .has()
, um zu überprüfen, ob ein Wert in einem WeakSet vorhanden ist.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1]);
console.log(weakset.has(obj1)); // true
console.log(weakset.has(obj2)); // false
Einen Wert entfernen
Um einen Wert aus einem WeakSet zu entfernen, verwenden Sie die .delete()
-Methode. Diese Methode gibt true
zurück true
wenn der Wert vorhanden war und entfernt wurde, andernfalls false
.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1]);
console.log(weakset.delete(obj1)); // true
console.log(weakset.delete(obj2)); // false