Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Sobre o spread operator

function juntaArrays(...arr) {
  const arraysUnidos = [].concat(...arr);
  console.log(arraysUnidos);
}

const array1 = [1,2,3,4,5];
const array2 = [6,7,8,9,10];
const array3 = [11,12,13,14,15];

juntaArrays(array1, array2, array3);

é o spread operator no parâmetro da criação da função que permite que a função receba mais de um parâmetro do mesmo tipo? Teria como me mostrar algum exemplo de uso do spread operator para um parâmetro que não seja um array, ou o "..." automaticamente gera um array do parâmetro, seja ele qual for?

1 resposta
solução!

Oi, Igor! Tudo bem?

O spread operator (...) no parâmetro da função de fato permite que a função receba mais de um parâmetro do mesmo tipo e os agrupe em um array, a função juntaArrays recebe vários arrays e os concatena em um único array, por exemplo.

Com parâmetros que não sejam arrays, o spread operator pode ser usado para espalhar elementos de um iterável (como arrays, strings, objetos iteráveis) em um novo contexto, como no exemplo prático usando strings baixo:

function juntaStrings(...strings) {
  const stringUnida = strings.join(' ');
  console.log(stringUnida);
}

const string1 = "Olá";
const string2 = "mundo";
const string3 = "JavaScript";

juntaStrings(string1, string2, string3); // Saída: "Olá mundo JavaScript"

Neste exemplo, a função juntaStrings recebe várias strings como parâmetros, graças ao spread operator, e as une em uma única string.

Além disso, o spread operator pode ser usado para clonar objetos, por exemplo:

const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 };

console.log(obj2); // Saída: { a: 1, b: 2, c: 3 }

Aqui, o spread operator é usado para copiar todas as propriedades de obj1 para obj2 e adicionar uma nova propriedade c.

Espero ter ajudado!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓