A maneira mais eficiente de clonagem profunda de um objeto em JavaScript
Olá a todos! Sou novo em JavaScript e encontrei um problema ao copiar objetos. Preciso criar uma cópia independente do objeto para que as alterações na cópia não afetem o original. \n\nAqui está um exemplo de código que não funciona para mim:\n\n```javascript\nconst original = {\n name: 'Anna',\n age: 25,\n address: {\n city: 'Moscou',\n street: 'Lenina'\n },\n hobbies: ['leitura', 'esporte']\n};\n\nconst copy = original;\ncopy.name = 'Maria';\ncopy.address.city = 'SPb';\n\nconsole.log(original.name); // 'Maria' — mudou!\nconsole.log(original.address.city); // 'SPb' — também mudou!\n```\n\nTentei usar `Object.assign()` e o spread operator:\n\n```javascript\nconst copy2 = Object.assign({}, original);\nconst copy3 = {...original};\n\ncopy2.address.city = 'Kazan';\nconsole.