ExpertiDict

JavaScript · Avançado · Inglês · Técnico

WeakMap

/wik mæp/substantivo

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 coleta

Exemplos

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

Veja também

Todos os termos de JavaScript