September 30, 2022 2:32 PM (CDT)
Aportes
<aside> 💡 Lo que no viene en la clase lo “resolveré” cuando lo este repasando y sobre todo practicando (Experimentos)
</aside>
“Nos permite trabajar a nosotros según sea el caso, con una lógica que podremos propagar la información hacia otros elementos sin tener que volverla a pasar como normalmente la estamos asignando”.
Simplemente tiene está apariencia ( ...
)
// **Strings**
const texto = "Hola";
const caracteres = [...texto];
console.log(caracteres); // ['H', 'o', 'l', 'a']
****
---
let comida = [...'Hola', ...'hoy', ...'te', ...'toca', ...'helado']; //['H', 'o',
'l', 'a', 'h', 'o', 'y', 't', 'e', 't', 'o', 'c', 'a', 'h', 'e', 'l', 'a', 'd', 'o']
El operador de propagación (spread operator), como su nombre lo dice, consiste en propagar los elementos de un iterable, ya sea un array o string utilizando tres puntos (...
) dentro de un array.
También se utiliza para objetos, pero esta característica fue añadida en versiones posteriores de ECMAScript y es denominada propiedades de propagación.
Al realizar una copia de un arreglo, debes tener cuidado con la referencia de memoria.
Los arrays se guardan en una referencia en la memoria del computador, al crear una copia; la original y la copia apuntarán a la misma referencia. Lo que cambies en una, afectará a la otra.
Debido a esto, si cambias algo en la copia, también lo harás en el original.
const arrayCero = [1, 2, 3, 4, 5];
const arrayUno = arrayCero;
arrayUno[0] = 0
arrayUno // [0, 2, 3, 4, 5]
arrayCero === arrayUno // true.
Para evitar esto, utiliza el operador de propagación para crear una copia del array que utilice una referencia en memoria diferente al original.
const arrayCero = [1, 2, 3, 4, 5];
const arrayUno = [...arrayCero];
arrayUno[0] = 0
arrayUno // [0, 2, 3, 4, 5]
arrayCero === arrayUno // false.