Operador spread
O operador spread permite clonar ou copiar ou expandir objetos ou arrays, de uma forma simples.
Operador spread e arrays
Sintaxe:
let clone_arr = [... nome_array [, ... nome_array_2] [, [... nome_array_n]
Exemplo 1:
const nrs = [3, 5, 7, 9];
//Obtem clone do array nrs:
const arr = [...nrs];
console.log(arr); //Output: [3, 5, 7, 9]
Exemplo 2:
Neste exemplo, usamos o operador spread para copiar e juntar dois arrays, arr1 e arr2, num só chamado arr. Os arrays arr1 e arr2 mantêm-se inalterados:
let arr1 = [1, 2, 3];
let arr2 = [4, 5];
let arr = [...arr1, ...arr2];
console.log(arr); //Output: [1, 2, 3, 4, 5]
Exemplo 3:
Podemos clonar e expandir o array clonado com novos elementos:
const nrs = [3, 5, 7, 9];
const arr = [...nrs, 11, 13];
console.log(arr); //Output: [3, 5, 7, 9, 11, 13]
Operador spread e objetos
O operador spread também pode ser usados em objetos.
Sintaxe:
let combined_obj = {…obj1 [, … obj2] [, ...objn]};
Exemplo 1:
let obj1 = {
nome: "Xico",
};
let obj = { ...obj1 };
console.log(obj); //nome: Xico
Exemplo 2:
Podemos combinar dois objetos num só, usando o operador spread:
let obj1 = {
nome: "Xico",
};
let obj2 = {
morada: "Lisboa",
};
let obj = { ...obj1, ...obj2 };
console.log(obj); //nome: Xico, morada: Lisboa
