javascript / intermediate
Snippet
Sicheres Deep Cloning mit structuredClone
Im Gegensatz zum JSON.parse(JSON.stringify()) Hack erstellt structuredClone eine echte Tiefenkopie, die zirkuläre Referenzen und komplexe Typen wie Date, Map und Set korrekt verarbeitet.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
const original = {user: 'Markus',roles: new Set(['admin', 'editor']),metadata: { created: new Date() }};const copy = structuredClone(original);copy.roles.add('guest');console.log(original.roles.has('guest')); // falseconsole.log(copy.metadata.created instanceof Date); // true
nodejs
Erklärung
1
structuredClone(original)
Führt einen nativen Deep Clone des gesamten Objektgraphen aus.
2
copy.roles.add('guest')
Das Ändern der Kopie beeinflusst das ursprüngliche Set nicht.