Sök…
Syntax
- nya WeakSet ([iterable]);
- weakset.add (värde);
- weakset.has (värde);
- weakset.delete (värde);
Anmärkningar
För användning av WeakSet, se ECMAScript 6: vad är WeakSet för? .
Skapa ett WeakSet-objekt
WeakSet-objektet används för att lagra svagt hållna objekt i en samling. Skillnaden från Set är att du inte kan lagra primitiva värden, som nummer eller sträng. Hänvisningar till objekten i samlingen hålls också svagt, vilket innebär att om det inte finns någon annan hänvisning till ett objekt lagrat i en WeakSet, kan det samlas in skräp.
WeakSet-konstruktören har en valfri parameter, som kan vara vilket som helst iterbart objekt (till exempel en matris). Alla dess element kommer att läggas till det skapade WeakSet.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1, obj2]);
Lägga till ett värde
För att lägga till ett värde i en WeakSet använder .add()
metoden .add()
. Denna metod är kedjbar.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet();
weakset.add(obj1).add(obj2);
Kontrollera om ett värde finns
För att kontrollera om ett värde existerar i en WeakSet använder .has()
metoden .has()
.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1]);
console.log(weakset.has(obj1)); // true
console.log(weakset.has(obj2)); // false
Ta bort ett värde
För att ta bort ett värde från en WeakSet använder .delete()
metoden .delete()
. Denna metod returnerar true
om värdet fanns och har tagits bort, annars false
.
const obj1 = {},
obj2 = {};
const weakset = new WeakSet([obj1]);
console.log(weakset.delete(obj1)); // true
console.log(weakset.delete(obj2)); // false