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.

  1. 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 }
  1. 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.