WeakSet

JavaScript 🔴 Senior

Definition

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.

#core#ES6#avance