JavaScript · Avançado · Inglês · Técnico
WeakMap
Mapa cujas chaves precisam ser objetos (ou símbolos não registrados) e são mantidas de forma fraca: se nada mais referencia a chave, a entrada pode ser coletada.
Onde usar
Usado para associar metadados a objetos sem causar vazamento de memória, como caches e dados privados. Em code review, é a alternativa a Map quando a vida do dado deve acompanhar a do objeto.
Em código
const meta = new WeakMap();
let el = { id: 1 };
meta.set(el, { visto: true });
console.log(meta.get(el)); // { visto: true }
el = null; // entrada elegível para coletaExemplos
A WeakMap lets me attach data to the node without leaking memory.
Um WeakMap me deixa anexar dados ao nó sem vazar memória.
You can't iterate over a WeakMap.
Você não consegue iterar sobre um WeakMap.
Cuidado
Tentar listar ou contar as entradas: WeakMap não tem size, keys nem iteração.
Antônimos
Map