JS: Objetos
Teoría: spread y creación de nuevos objetos
Cuando trabajamos con objetos en JavaScript, a menudo necesitamos modificarlos sin alterar el original. La mejor forma de hacer esto es clonando y fusionando objetos. Aprenderemos cómo hacerlo con Object.assign() y el operador spread (...), una herramienta moderna que hace este proceso más fácil y legible.
Clonación y fusión con Object.assign()
Supongamos que tenemos un objeto que representa a un usuario:
Explicación
Object.assign({}, user, data)crea un nuevo objeto.- El primer argumento
{}es el objeto destino, donde se copiarán las propiedades. - Los objetos
userydatase combinan en el nuevo objeto. - Si hay propiedades duplicadas, se mantienen los valores del objeto que aparece más a la derecha, en este caso,
datasobrescribenameyage.
Clonación con el operador spread(...)
Con la llegada de ES6, JavaScript introdujo una forma más concisa y legible para clonar y fusionar objetos: el operador spread (...).
Este código hace lo mismo que Object.assign({}, user), pero de forma más clara.
Fusión de objetos con spread
Si queremos combinar objetos y añadir nuevas propiedades, spread también nos ayuda.
Reglas importantes al fusionar
⏬ Ejemplo:
Como ...user está al final, sus valores sobrescriben los anteriores.
Si cambiamos el orden:
Ahora age: 25 sobrescribe age: 11 porque está más a la derecha.
Uso de múltiples operadores spread
Se pueden combinar varios objetos usando spread:
Aquí, name: 'Isabela' sobrescribe name: 'Alejandro' porque user2 está a la derecha.
Si invertimos el orden:
Ahora name: 'Alejandro' sobrescribe name: 'Isabela'.
Uso flexible del operador spread
Podemos mezclar propiedades nuevas con múltiples objetos:
Aquí,
married: truesobrescribemarried: false.name: 'Sebastián'sobrescribename: 'Isabela'.
Resumen
Object.assign({}, obj1, obj2)permite fusionar objetos sin modificar los originales.- El operador
spread(...) es una alternativa más sencilla y legible. - Spread descompone un objeto dentro de otro, creando una copia superficial.
- Las propiedades más a la derecha en una fusión sobrescriben las anteriores.
- Es posible combinar varios spreads y agregar nuevas propiedades al mismo tiempo.
Con estas herramientas puedes trabajar con objetos de forma más flexible y eficiente en JavaScript.
Completado
0 / 13