Desarrollo en curso, en breve se publicarán el resto de temas.

Capítulo 5: Spread Operator y Desestructuración de Objetos

El spread operator y la desestructuración también funcionan con objetos, permitiendo manipulaciones sofisticadas de datos estructurados.

5.1. Spread Operator (...) en Objetos

let persona = { nombre: "Juan", edad: 30 };

// Expandir propiedades
let persona2 = { ...persona };
console.log(persona2); // { nombre: "Juan", edad: 30 }

// Agregar propiedades
let personaCompleta = {
    ...persona,
    ciudad: "Madrid",
    profesion: "Desarrollador"
};
console.log(personaCompleta);
// {nombre: "Juan", edad: 30, ciudad: "Madrid", profesion: "Desarrollador"}

// Sobrescribir propiedades
let personaActualizada = {
    ...persona,
    edad: 31  // Sobrescribe edad
};
console.log(personaActualizada); // {nombre: "Juan", edad: 31}

5.2. Copiar Objetos: Spread vs Object.assign()


5.3. Fusionar Objetos


5.4. Desestructuración de Objetos


5.5. Renombrar Propiedades


5.6. Valores por Defecto


5.7. Rest Properties


5.8. Desestructuración Anidada


Resumen del Capítulo

El spread operator y la desestructuración de objetos permiten manipulaciones elegantes y concisas. Combinados con los métodos vistos para arrays, representan las herramientas modernas de JavaScript.

💡 Conceptos Clave:

  • Spread operator (...): Expande propiedades en nuevo objeto

  • Copiar objetos: {...obj} crea copia superficial

  • Fusionar objetos: {...obj1, ...obj2}

  • Desestructuración: Extrae propiedades en variables

  • Renombrar: {prop: nueva_variable}

  • Valores por defecto: En desestructuración

  • Rest properties: {a, b, ...resto}

  • Anidación: Desestructuración de propiedades anidadas

🤔 Preguntas de Reflexión:

  1. ¿Cuál es la diferencia entre spread operator y Object.assign()?

  2. ¿Cómo renombramos propiedades en la desestructuración?

  3. ¿Qué son las rest properties y cuándo las usarías?

  4. ¿Cómo la desestructuración anidada ayuda a limpiar el código?

  5. Demuestra cómo fusionar dos objetos manteniendo valores existentes.


Última actualización

¿Te fue útil?