Aparência
Operador spread
O operador de spread (...
) foi introduzido no ECMAScript 6 (ES6) e serve para espalhar os elementos de um iterável (como arrays, objetos ou strings) em um novo contexto. Ele pode ser utilizado em várias situações, como passar elementos de um array como argumentos para uma função, criar cópias rasas de arrays e objetos, e combinar arrays ou objetos.
Aqui estão algumas das principais aplicações do operador de spread:
1. Espalhando elementos de um array como argumentos para uma função
Em vez de usar o método apply
para passar um array de argumentos para uma função, o operador de spread pode ser usado para expandir os elementos do array:
javascript
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // Saída: 6
2. Criando cópias rasas de arrays
O operador de spread pode ser usado para criar uma cópia rasa de um array:
javascript
const originalArray = [1, 2, 3];
const copiedArray = [...originalArray];
console.log(copiedArray); // Saída: [1, 2, 3]
3. Combinando arrays
Você pode usar o operador de spread para combinar dois ou mais arrays:
javascript
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const combinedArray = [...array1, ...array2];
console.log(combinedArray); // Saída: [1, 2, 3, 4, 5, 6]
4. Criando cópias rasas de objetos
Além de arrays, o operador de spread também pode ser usado para copiar objetos:
javascript
const originalObject = { a: 1, b: 2 };
const copiedObject = { ...originalObject };
console.log(copiedObject); // Saída: { a: 1, b: 2 }
5. Combinando objetos
Você pode combinar vários objetos em um único objeto usando o operador de spread:
javascript
const object1 = { a: 1, b: 2 };
const object2 = { c: 3, d: 4 };
const combinedObject = { ...object1, ...object2 };
console.log(combinedObject); // Saída: { a: 1, b: 2, c: 3, d: 4 }
6. Usando o spread em strings
O operador de spread também pode ser usado para converter uma string em um array de caracteres:
javascript
const str = "hello";
const charArray = [...str];
console.log(charArray); // Saída: ["h", "e", "l", "l", "o"]
Resumo
O operador de spread (...
) é uma ferramenta poderosa no ES6 que permite uma manipulação flexível e eficiente de arrays e objetos. Ele simplifica operações comuns, como a combinação e cópia de arrays e objetos, e melhora a legibilidade do código. 💡