ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

structuredClone

/ˈstɹʌktʃɚd kloʊn/substantivo

Função nativa que cria uma cópia profunda de um valor, preservando datas, Map, Set e referências circulares. Não copia funções nem métodos de classes.

Onde usar

Usada para copiar estado aninhado sem mexer no original, no lugar do truque JSON.parse(JSON.stringify(x)). Em code review, a troca evita perder datas e outros tipos.

Em código

const orig = { d: new Date(0), n: { x: 1 } };
const copia = structuredClone(orig);
copia.n.x = 99;
console.log(orig.n.x); // 1
console.log(copia.d instanceof Date); // true

Exemplos

I replaced the JSON trick with structuredClone to keep the dates.

Troquei o truque do JSON por structuredClone para manter as datas.

structuredClone throws if the object has a function inside.

O structuredClone lança erro se o objeto tem uma função dentro.

Cuidado

Passar objetos com funções dentro, pois structuredClone lança DataCloneError.

Sinônimos

cópia profunda

Veja também

Todos os termos de JavaScript