„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Flache vs. tiefe Kopie von Objekten in JavaScript

Flache vs. tiefe Kopie von Objekten in JavaScript

Veröffentlicht am 08.11.2024
Durchsuche:662

Shallow vs Deep Copy of Objects in JavaScript

Wenn wir ein Objekt in 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.

Freigabeerklärung Dieser Artikel ist reproduziert unter: https://dev.to/claudioguedes/shallow-vs-deep-copy-of-objects-in-javascript-3d2o?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen Es
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3