Método Object.assign
El método Object.assign copia propiedades y valores del objeto fuente,
devolviendo un nuevo objeto. En el primer parámetro del método
establecemos el objeto destino, en el que copiamos,
y en el segundo - especificamos los objetos que se deben copiar.
Sintaxis
Object.assign(dónde copiar, objetos);
Ejemplo
Obtengamos un nuevo objeto a partir del original:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
Resultado de ejecutar el código:
{a: 1, b: 2, c: 3}
Ejemplo
Ahora obtengamos un nuevo objeto a partir de varias fuentes, enumerándolas en el parámetro separadas por comas:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
Después de ejecutar el código veremos que dos objetos fuente se fusionaron en un nuevo objeto:
{a: 1, b: 2, c: 3, d: 4}
Ejemplo
También se puede aplicar el método Object.assign
para obtener un nuevo array,
ya que un array por su tipo también es un objeto.
Obtengamos un nuevo array, copiando elementos del
array fuente:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
Resultado de ejecutar el código:
[1, 2, 3, 4]
Ejemplo
Al usar el método Object.assign
hay que seguir atentamente la sintaxis.
Por ejemplo, si no se añade
en el primer parámetro el objeto destino, y se deja
solo el objeto a copiar, este mismo será devuelto:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
Resultado de ejecutar el código:
true
Véase también
-
método
Object.keys,
que devuelve un array con las propiedades del objeto -
método
Object.values,
que devuelve un array con los valores del objeto