Deep Copy di un oggetto in JavaScript utilizzando structureClone
Feb 21 2023
Se sei qui, scommetto che hai usato JSON.parse() + JSON.
Se sei qui, scommetto che hai usato JSON.parse()+ JSON.stringify()trucco centinaia di volte per creare una copia completa di un oggetto in JavaScript. Non ne hai più bisogno, il nativo structuredClone()è qui per aiutarti.
Copia superficiale vs Copia profonda
Prima di tutto, ricordiamo qual è la differenza tra una Shallow Copy e una Deep Copy:
- Copia superficiale: significa che viene copiato solo il primo livello dell'oggetto . Si fa riferimento a livelli più profondi. Puoi ottenere ciò in JavaScript utilizzando l'operatore Spread (
…) o utilizzandoObject.assign(). - Copia profonda: significa che vengono copiati tutti i livelli dell'oggetto . Questa è una copia fedele dell'oggetto. Puoi farlo usando
JSON.parse()+JSON.stringify()e ora puoi farlo anche con nativestructuredClone().
Deep Copy utilizzando il clone strutturato
Il metodo globale structuredClone()crea una copia completa di un determinato valore utilizzando l' algoritmo di clone strutturato .
Come puoi vedere in questo frammento di codice:
- Dopo aver aggiornato una proprietà nel primo livello degli oggetti clonati, la proprietà originale non viene aggiornata .
- Dopo aver aggiornato una proprietà a un livello più profondo, la proprietà originale non viene aggiornata . Questo accade perché, in questo caso, vengono copiati anche i livelli più profondi.
Buona codifica!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































