Wie man Objekte in JavaScript richtig klont: flache und tiefe Kopie
Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin auf ein Problem gestoßen, das mich verwirrt hat. Wenn ich ein Objekt einem anderen zuweise, sind sie irgendwie verbunden. Wenn ich die Kopie ändere, ändere ich auch das Original. Hier ist ein Beispiel:\n\n```javascript\nlet user = { name: "Ivan", age: 30 };\nlet clone = user;\nclone.name = "Petr";\nconsole.log(user.name); // Gibt "Petr" aus, aber ich erwartete "Ivan"\n```\n\nIch verstehe, dass Objekte in JavaScript als Referenz übergeben werden, aber wie erstelle ich eine echte unabhängige Kopie? Ich habe `Object.assign()` ausprobiert, aber es scheint auch nicht immer richtig zu funktionieren, besonders wenn das Objekt andere Objekte enthält:\n\n```javascript\nlet user = { \n name: "Anna", \n address: { city: "Moskau", street: "Twerskaja" }\n};\nlet clone = Object.assign({}, user);\nclone.address.city = "SPb";\ncons