WeakSet
JavaScript 🔴 SeniorDéfinition
Set dont les valeurs sont obligatoirement des objets tenus faiblement. Non iterable, non denombraable. Utile pour marquer des objets sans empêcher 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
Détecter les références circulaires, marquer les noeuds DOM déjà traites.