Avatar ·

Clonación de objetos en TypeScript: copia profunda y superficial

```html ¡Hola! Soy nuevo en TypeScript (y JS en general). Tengo un objeto con datos de usuario: ```typescript interface User { name: string; age: number; address: { city: string; street: string; }; hobbies: string[]; } const user: User = { name: 'Анна', age: 28, address: { city: 'Москва', street: 'Тверская' }, hobbies: ['чтение', 'бег'] }; ``` Necesito crear una copia de este objeto y cambiar solo `age`, pero de manera que el objeto original permanezca sin cambios. Intenté simplemente asignar: ```typescript const userCopy = user; userCopy.age = 30; ``` ¡Pero también se modificó `user.age`! Luego usé el spread operator: ```typescript const userCopy = { ...user }; userCopy.age = 30; ``` Esto funcionó para `age`, pero cuando intenté cambiar `userCopy.address.city = 'СПб'`, ¡el valor de `user.address.city` también cambió! Además, no puedo entender cómo clonar correctamente objetos y arrays anidados. ```