Menu
Coddy logo textTech

O Spread Operator Parte 1

Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 18 de 65.

O operador spread (...) tem muitos casos de uso para JSON. Por exemplo, ao realizar a seguinte operação:

const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1)

Qual seria a saída?

console.log(obj2.key1)
// Saída: "456"

Isso pode ser surpreendente! Embora tenhamos alterado apenas obj1, obj2 também mudou.

Isso acontece porque quando atribuímos objetos diretamente (obj2 = obj1), estamos criando uma referência, não uma cópia. Ambas as variáveis apontam para o mesmo objeto na memória.

É aqui que o operador spread se torna útil. Vamos ver como criar uma cópia real:

const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// Saída: "123"

O operador spread cria um novo objeto e copia todas as propriedades enumeráveis do objeto de origem para o novo.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo