1
resposta

[Dúvida] Desestruturação

const numeroS = [...numPares, ...numImpar];

** /// **

const [num01, num02, ...outrosNum] = [1, 2, 3, 4, 5];

Entendi a finalidade do (...). De 'modo grosseiro', qual a diferença entre usar antes e depois do igual?

1 resposta

Boa noite Rosemberg, tudo bem?

Quando você utiliza const numeroS = [...numPares, ...numImpar];, você está atribuindo os valores de outros arrays/objetos em um único array. Exemplo:

const numPares = [2, 4, 6];
const numImpar = [1, 3, 5];

const numeroS = [...numPares, ...numImpar];

console.log(numeroS); // O resultado será: [2, 4, 6, 1, 3, 5]

Já quando você faz const [num01, num02, ...outrosNum] = [1, 2, 3, 4, 5];, você está criando variáveis (lado esquerdo) que vão armazenar os valores atribuídos (lado direito). No caso, o resultado seria:


const [num01, num02, ...outrosNum] = [1, 2, 3, 4, 5];

console.log(num01); // resultado: 1
console.log(num02); // resultado: 2
console.log(outrosNum); // resultado: [3, 4, 5] (ao usar reticêncas, ele pega o restante dos valores, logo, neste exemplo, a variável será um array)

Resumindo: Antes do "=": armazena os valores em um novo array/objeto. Depois do "=": junta os valores restantes numa variável.

Bons estudos!