65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
|
---
|
|||
|
title: Object Assign
|
|||
|
localeTitle: Asignar objeto
|
|||
|
---
|
|||
|
## Asignar objeto
|
|||
|
|
|||
|
Esto es un talón. [Ayuda a nuestra comunidad a expandirla](https://github.com/freecodecamp/guides/tree/master/src/pages/javascript/standard-objects/object/object-assign/index.md) .
|
|||
|
|
|||
|
[Esta guía rápida de estilo ayudará a asegurar que su solicitud de extracción sea aceptada](https://github.com/freecodecamp/guides/blob/master/README.md) .
|
|||
|
|
|||
|
El método `Object.assign()` se usa para 1) agregar propiedades y valores a un objeto existente, 2) hacer una nueva copia de un objeto existente, o 3) combinar varios objetos existentes en un solo objeto. El método `Object.assign()` requiere un targetObject como parámetro y puede aceptar un número ilimitado de sourceObjects como parámetros adicionales.
|
|||
|
|
|||
|
Es importante tener en cuenta que el parámetro targetObject siempre se modificará. Si ese parámetro apunta a un objeto existente, ese objeto será modificado y copiado. Sin embargo, si desea crear una copia de un objeto sin modificar ese objeto original, puede pasar un objeto vacío `{}` como primer parámetro (o targetObject) y el objeto que se copiará como segundo parámetro (o sourceObject).
|
|||
|
|
|||
|
Si los objetos pasados como parámetros en `Object.assign()` comparten las mismas propiedades (o claves), los valores de propiedad que vienen más adelante en la lista de parámetros sobrescribirán los que vinieron antes.
|
|||
|
|
|||
|
**Sintaxis**
|
|||
|
|
|||
|
```javascript
|
|||
|
Object.assign(targetObject, ...sourceObject)
|
|||
|
```
|
|||
|
|
|||
|
**Valor de retorno**
|
|||
|
|
|||
|
`Object.assign()` devuelve el targetObject.
|
|||
|
|
|||
|
**Ejemplos**
|
|||
|
|
|||
|
_Modificando y Copiando targetObject_
|
|||
|
|
|||
|
```javascript
|
|||
|
let obj = {name: 'Dave', age: 30};
|
|||
|
|
|||
|
let objCopy = Object.assign(obj, {coder: true});
|
|||
|
|
|||
|
console.log(obj); // returns { name: 'Dave', age: 30, coder: true }
|
|||
|
console.log(objCopy); // returns { name: 'Dave', age: 30, coder: true }
|
|||
|
```
|
|||
|
|
|||
|
_Copiando targetObject sin modificación_
|
|||
|
|
|||
|
```javascript
|
|||
|
let obj = {name: 'Dave', age: 30};
|
|||
|
|
|||
|
let objCopy = Object.assign({}, obj, {coder: true});
|
|||
|
|
|||
|
console.log(obj); // returns { name: 'Dave', age: 30 }
|
|||
|
console.log(objCopy); // returns { name: 'Dave', age: 30, coder: true }
|
|||
|
```
|
|||
|
|
|||
|
_Objetos con las mismas propiedades_
|
|||
|
|
|||
|
```javascript
|
|||
|
let obj = {name: 'Dave', age: 30, favoriteColor: 'blue'};
|
|||
|
|
|||
|
let objCopy = Object.assign({}, obj, {coder: true, favoriteColor: 'red'});
|
|||
|
|
|||
|
console.log(obj); // returns { name: 'Dave', age: 30, favoriteColor: 'blue' }
|
|||
|
console.log(objCopy); // { name: 'Dave', age: 30, favoriteColor: 'red', coder: true }
|
|||
|
```
|
|||
|
|
|||
|
#### Más información:
|
|||
|
|
|||
|
[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
|
|||
|
[Introducción a Object.assign en ES6 (Video)](https://youtu.be/vM7Tif98Dlo)
|