¿Qué es object.assign en JavaScript?

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes exactamente qué es y cómo se usa el método object.assign en JavaScript? Los objetos en JavaScript se caracterizan por ser todos aquellos elementos que tienen propiedades o métodos. Por la lógica de este lenguaje de programación, esto puede llegar a incluir todos los elementos de JavaScript. Sin embargo, los objetos literales se distinguen por describir explícitamente los valores de sus propiedades.

En este post, te enseñaremos cómo copiar las propiedades de uno o más de estos objetos en otro elemento usando el método object.assign en JavaScript.

¿Qué es object.assign en JavaScript?

El método object.assign en JavaScript nos permite copiar y combinar el contenido de uno o más objetos en un nuevo objeto que funcionará como un target u objeto destino. Además, cuando los objetos tienen propiedades iguales, este método decidirá entre los valores que le hemos dado en cada objeto.

En nuestro post sobre los objetos de JavaScript hemos visto que prácticamente todos los elementos de este lenguaje funcionan como un objeto. Esto sucede porque, al igual que el dicho todos los caminos llevan a Roma, todos los prototipos de la cadena de prototipos llegan a object.

No obstante, el método object.assign se usa especialmente con los objetos literales de JavaScript porque describen textualmente los valores de cada variable.

¿Cómo funciona el método object.assign en JavaScript?

Lo que hace exactamente el método object.assign en JavaScript o assign en JavaScript es copiar todas las propiedades de los objetos que elijamos a otro objeto. Esto lo hace mediante la asignación de object.assign() al objeto en el que queramos que se copien las propiedades. Entonces, en vez de asignar un valor de tipo primitivo a este nuevo objeto, asignaremos una mezcla de objetos, los cuales se definen dentro del paréntesis de object. assign.

En KeepCoding sabemos que la mejor forma de entender cómo funcionan los elementos de un lenguaje de programación es a través de los ejemplos. Por este motivo, vamos a suponer que tenemos los siguientes dos objetos, que definen la cantidad asignada a cada color de una paleta:

const paletaA = {azul: 1, blanco: 2};

const paletaB = {amarillo: 3, azul: 4};

Ahora, si quisiéramos combinar estas propiedades en un solo objeto, podríamos utilizar el método object.assign en JavaScript para copiar en él las propiedades de estos dos objetos. Pensemos que este nuevo objeto es una tercera paleta llamada paletaAB. A continuación, te mostramos cómo copiar las propiedades de paletaA y paletaB en el nuevo objeto:

const paletaAB = object.assign (paletaA, paletaB);

Con este método, las cuatro propiedades de nuestros objetos iniciales se copian en un solo objeto paletaAB. Sin embargo, el método object.assign no solo copia propiedades. Además, en caso de que haya propiedades iguales con valores distintos en nuestros objetos, object.assign elegirá solo uno de los valores para insertar en el objeto destino. ¿Y cómo elige esto? Es sencillo, el método object.assign elegirá el valor asignado al objeto que situemos como último parámetro, pues será el último que lee nuestro programa.

Ahora que tenemos la combinación de propiedades, podríamos pintar en la pantalla esta combinación usando el comando console.log e insertando el nombre del nuevo objeto:

console.log (paletaAB);

Ya que el último objeto en nuestro método object.assign es paletaB, el valor de la variable azul será 4, no 1. Entonces, el resultado de esta combinación y lo que veríamos pintado en pantalla sería lo siguiente:

blanco: 2, amarillo:3, azul:4

Esperamos que este post te haya ayudado a comprender qué es object.assign en JavaScript y cómo funciona. Sin embargo, si todavía tienes dudas sobre este método, te invitamos a consultarlo en la página oficial de Mozilla Developer Network, donde podrás encontrar más información al respecto.

¿Cuál es el siguiente paso?

Tras leer este post, no solo has aprendido cómo funciona el método object.assign en JavaScript, sino que también has dado un paso más en tu camino hacia la dominación de este lenguaje de programación. ¡Con cada elemento de teoría que aprendes te acercas más a tu meta! Sin embargo, aprender a programar es un proceso que también requiere de mucha práctica. Por ello, te recomendamos echarle un vistazo a nuestro Desarrollo Web Full Stack Bootcamp, un espacio que combina la teoría y la práctica para enseñarte a dominar este y muchos otros aspectos del desarrollo web. ¡Atrévete a dar el siguiente paso en proceso de aprendizaje y matricúlate ya!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado