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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow