Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Einführung in WeakSet in ES6

Eine kurze Einführung in WeakSet in ES6

不言
不言nach vorne
2018-11-14 16:23:062976Durchsuche

Dieser Artikel bietet Ihnen eine kurze Einführung in WeakSet in ES6. Ich hoffe, dass er für Freunde hilfreich ist.

Übersicht

WeakSet ähnelt Set, es gibt jedoch einige Unterschiede:

WeakSet kann nur Objekte speichern, keine beliebigen Werte

WeakSet ist nicht iterierbar

WeakSet ist eine schwache Referenz, das heißt, wenn es keine Variable gibt, die auf den Wert im WeakSet verweist, kann es leicht recycelt werden

Initialisierung

 new WeakSet([iterable]);

Weil das nur Objekte können gespeichert werden kann, denke ich, dass es nur so etwas wie ein Objektarray übergeben kann

Objektarray

new WeakSet([{name:1},{name:2}]) //WeakSet(2){{name:1},{name:2}}

Hinzufügen

let weakset=new WeakSet()
weakset.add({num:1})
weakset.add({num:2})

Bestimmen Sie, ob es bereits existiert

let data={num:1}
let weakset=new WeakSet()
weakset.add(data)
weakset.add({num:2})
weakset.has(data) //true
weakset.has({num:2}) //false

Löschen

let data={num:1}
let weakset=new WeakSet()
weakset.add(data)
weakset.add({num:2})
weakset.delete(data) //true
weakset.delete({num:2}) //false

Schwache Referenzfunktion

let weakset=new WeakSet([{num:1}])
setTimeout(()=>console.log(weakset),3000)
// 3s 后输出,可以看到,数据没了
WeakSet {}


Das obige ist der detaillierte Inhalt vonEine kurze Einführung in WeakSet in ES6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen