Wenn wir ein Objekt auf ein anderes Objekt kopieren müssen, verwenden wir im Allgemeinen so etwas:
const mainObject = { id: 1 }; const secondaryObject = { ...mainObject };
Dies funktioniert jedoch nur zum Kopieren der flachen Eigenschaften des Objekts. Wenn wir einen Fall wie den folgenden Code haben, ändert sich das Szenario:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const secondaryObject = { ...mainObject };
Der Eigenschaftsbenutzer wird nicht kopiert; es wird weiterhin mit mainObject verknüpft sein. Wenn wir also die Benutzereigenschaft ändern, wirkt sich dies auch auf mainObject aus. Um dieses Problem zu lösen, können wir Folgendes tun:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const deepCopy = JSON.parse(JSON.stringify(mainObject ));
Jetzt haben wir eine tiefe Kopie von mainObject mit zwei unterschiedlichen Speicheradressen.
Das obige ist der detaillierte Inhalt vonFlache vs. tiefe Kopie von Objekten in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!