Menu
Coddy logo textTech

El Spread Operator Parte 1

Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 18 de 65.

El operador spread (...) tiene muchos casos de uso para JSON. Por ejemplo, al realizar la siguiente operación:

const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456
console.log(obj2.key1)

¿Cuál sería el resultado?

console.log(obj2.key1)
// Salida: "456"

¡Esto podría ser sorprendente! Aunque solo cambiamos obj1, obj2 también cambió.

Esto sucede porque cuando asignamos objetos directamente (obj2 = obj1), estamos creando una referencia, no una copia. Ambas variables apuntan al mismo objeto en memoria.

Aquí es donde el operador spread resulta útil. Veamos cómo crear una copia real:

const obj1 = {key1: "123"};
const obj2 = {...obj1};
obj1.key1 = "456";
console.log(obj2.key1);
// Salida: "123"

El operador spread crea un nuevo objeto y copia todas las propiedades enumerables del objeto de origen en el nuevo.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Hoja de referencia

El operador spread (...) crea una copia de un objeto en lugar de una referencia:

// Referencia (ambas variables apuntan al mismo objeto)
const obj1 = {key1: "123"}
const obj2 = obj1
obj1.key1 = "456"
console.log(obj2.key1) // Output: "456"
// Copia usando el operador spread
const obj1 = {key1: "123"}
const obj2 = {...obj1}
obj1.key1 = "456"
console.log(obj2.key1) // Output: "123"

El operador spread copia todas las propiedades enumerables del objeto de origen en un nuevo objeto.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo