WeakSet
JavaScript 🔴 SeniorDefinition
Set dont les valeurs sont obligatoirement des objets tenus faiblement. Non iterable, non denombraable. Utile pour marquer des objets sans empecher leur GC.
Analogie
Une liste noire invisible : tu sais si quelqu'un y est, mais tu ne peux pas la consulter en entier.
Exemple de code
const visited = new WeakSet();
function process(obj) {
if (visited.has(obj)) return;
visited.add(obj);
// traitement...
}
Cas d'usage
Detecter les references circulaires, marquer les noeuds DOM deja traites.