Heim > Web-Frontend > js-Tutorial > Hauptteil

Flache vs. tiefe Kopie von Objekten in JavaScript

Mary-Kate Olsen
Freigeben: 2024-10-04 22:25:02
Original
483 Leute haben es durchsucht

Shallow vs Deep Copy of Objects in JavaScript

Wenn wir ein Objekt auf ein anderes Objekt kopieren müssen, verwenden wir im Allgemeinen so etwas:


const mainObject = { id: 1 };
const secondaryObject = { ...mainObject };


Nach dem Login kopieren

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 };


Nach dem Login kopieren

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 ));


Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage