2.7 KiB
title | localeTitle |
---|---|
Object Assign | Atribuir Objeto |
Atribuir Objeto
Este é um esboço. Ajude nossa comunidade a expandi-lo .
Este guia de estilo rápido ajudará a garantir que sua solicitação de recebimento seja aceita .
O método Object.assign()
é usado para 1) adicionar propriedades e valores a um objeto existente, 2) criar uma nova cópia de um objeto existente ou 3) combinar vários objetos existentes em um único objeto. O método Object.assign()
requer um targetObject como parâmetro e pode aceitar um número ilimitado de sourceObjects como parâmetros adicionais.
Importante notar aqui é que o parâmetro targetObject sempre será modificado. Se esse parâmetro apontar para um objeto existente, esse objeto será modificado e copiado. Se, no entanto, você deseja criar uma cópia de um objeto sem modificar esse objeto original, pode passar um objeto vazio {}
como o primeiro parâmetro (ou targetObject) e o objeto a ser copiado como o segundo parâmetro (ou sourceObject).
Se os objetos passados como parâmetros em Object.assign()
compartilharem as mesmas propriedades (ou chaves), os valores de propriedade que vierem depois na lista de parâmetros sobrescreverão aqueles que vieram antes.
Sintaxe
Object.assign(targetObject, ...sourceObject)
Valor de retorno
Object.assign()
retorna o targetObject.
Exemplos
Modificando e copiando targetObject
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 sem modificação
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 com as mesmas propriedades
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 }