freeCodeCamp/guide/portuguese/javascript/standard-objects/object/object-assign/index.md

2.7 KiB
Raw Blame History

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 } 

Mais Informações:

MDN
Introdução ao Object.assign no ES6 (Video)