Spread operator (...) com arrays: copiando e combinando de forma fácil
Conheça uma sintaxe moderna para copiar arrays ou combiná-los de forma concisa.
O spread operator (...) é uma forma moderna e prática de trabalhar com arrays no JavaScript.
Pense nele como “abrir uma caixa” e espalhar o conteúdo dela em outro lugar.
O que o spread faz com arrays?
Quando usamos ...array, o JavaScript “espalha” os itens daquele array.
Exemplo:
const numeros = [1, 2, 3];
console.log(...numeros); // 1 2 3
1) Copiando arrays com spread
const original = ["HTML", "CSS", "JS"];
const copia = [...original];
console.log(copia); // ["HTML", "CSS", "JS"]
console.log(original); // ["HTML", "CSS", "JS"]
Isso cria uma nova lista com os mesmos itens.
Por que isso é importante?
Se você fizer:
const copiaErrada = original;
A variável nova aponta para o mesmo array (não é cópia real).
Com spread, você cria uma cópia separada.
2) Combinando arrays com spread
const front = ["HTML", "CSS"];
const back = ["Node.js", "SQL"];
const fullStack = [...front, ...back];
console.log(fullStack); // ["HTML", "CSS", "Node.js", "SQL"]
Muito útil para juntar listas de forma clara.
3) Adicionando itens no começo, meio ou fim
const base = [2, 3];
// No início
const inicio = [1, ...base]; // [1, 2, 3]
// No fim
const fim = [...base, 4]; // [2, 3, 4]
// No meio
const meio = [1, ...base, 4]; // [1, 2, 3, 4]
4) Atualizando array sem alterar o original
const tarefas = ["estudar", "praticar"];
const novasTarefas = [...tarefas, "revisar"];
console.log(tarefas); // ["estudar", "praticar"]
console.log(novasTarefas); // ["estudar", "praticar", "revisar"]
Esse padrão é muito usado para manter código mais previsível.
5) Atenção importante (cópia rasa)
Com spread, a cópia é rasa (shallow copy).
Ou seja, funciona muito bem para valores simples (strings, números, booleanos), mas em arrays com objetos aninhados é preciso cuidado.
Resumo da lição
...espalha os elementos de um array.- Você pode usar para copiar arrays de forma simples.
- Você pode combinar várias listas com clareza.
- Também ajuda a adicionar itens sem modificar o array original.
- É uma ferramenta moderna e muito usada no JavaScript do dia a dia.