Como criar uma cópia de um objeto em JavaScript?
Em JavaScript, para criar uma cópia de um objeto, você pode utilizar o operador spread ou o método Object.assign(). Vou mostrar como fazer isso com ambos os métodos.
- Utilizando o operador spread:
O operador spread pode ser utilizado para criar uma cópia superficial do objeto. Para fazer isso, você simplesmente atribui o objeto original para uma nova variável usando o operador spread (…):
const objetoOriginal = { nome: "João", idade: 30 };
const objetoCopia = { ...objetoOriginal };
console.log(objetoCopia); // { nome: "João", idade: 30 }
- Utilizando o método Object.assign():
O método Object.assign() permite copiar as propriedades de um ou mais objetos para outro objeto. Para criar uma cópia do objeto original, você passa um objeto vazio como primeiro parâmetro e o objeto original como segundo parâmetro:
const objetoOriginal = { nome: "João", idade: 30 };
const objetoCopia = Object.assign({}, objetoOriginal);
console.log(objetoCopia); // { nome: "João", idade: 30 }
Esses métodos oferecem cópias superficiais do objeto, o que significa que eles não copiam as referências dos objetos aninhados. Se você tiver objetos aninhados e desejar copiá-los profundamente, precisará usar uma biblioteca externa, como o Lodash, ou implementar sua própria lógica de cópia profunda.
Com essas duas opções, você pode facilmente criar cópias de objetos em JavaScript.