Esistono diversi modi per rendere immutabile un oggetto, come l'uso della parola chiave "const", il congelamento superficiale e il congelamento profondo.
Questo articolo mira a presentare una chiara comprensione dei seguenti concetti:
Comprenderemo ciascuno dei concetti sopra menzionati attraverso esempi pratici. Quindi iniziamo!
Qual è la necessità di un congelamento superficiale?
Le ragioni sotto l'elenco ci costringono ad attuare il congelamento superficiale o profondo:
Esempio: identificazione del problema
Questo programma identificherà perché il "const"La parola chiave non è un buon approccio per rendere immutabile gli oggetti.
const empdetails = primo: "Alex", secondo: "John", terzo: "Mike", quarto: "Joe", quinto: "seth";L'output ha verificato che la parola chiave "const" non è riuscita a impedire la modifica di un oggetto. L'approccio di congelamento superficiale può essere utilizzato per risolvere/risolvere questo problema.
Cosa significa congelamento superficiale in JavaScript?
L'oggetto.Il metodo Freeze () può congelare completamente un oggetto. L'oggetto.Il metodo Freeze () impedisce a un utente di aggiungere, eliminare o modificare l'oggetto. Inoltre, impedisce agli utenti di accedere ai metodi/proprietà esistenti di un oggetto.
Esempio: implementazione dell'oggetto.Metodo Freeze ()
Consideriamo il codice seguente per ottenere una comprensione di base dell'oggetto.Metodo Freeze ():
L'output ha chiarito che l'oggetto.Il metodo Freeze () non consente modifiche all'oggetto.
Qual è la necessità del congelamento profondo in JavaScript?
L'esempio sopra mostra che l'approccio di congelamento superficiale impedisce correttamente all'oggetto di modificare. Tuttavia, non è considerato l'approccio migliore. Questo perché l'approccio di congelamento superficiale si blocca solo l'oggetto dato. Tuttavia, se l'oggetto contiene alcuni oggetti o array nidificati, in tali situazioni, gli oggetti nidificati possono ancora essere aggiornati.
Quindi, come affrontare gli oggetti nidificati? BENE! In tal caso, possiamo usare il concetto di congelamento profondo.
Cosa significa profondo congelamento in javascript?
È necessario seguire i passaggi di seguito elencati per applicare il congelamento profondo a un oggetto:
Implementazione pratica del profondo congelamento in JavaScript
Il programma qui sotto ti permetterà di capire come congelare un oggetto in JavaScript:
const empDetails =In questo programma, abbiamo adottato l'approccio ricorsivo per congelare la proprietà di ogni oggetto. Per fare ciò, inizialmente, abbiamo verificato se il valore di qualsiasi proprietà è un oggetto o no. Quando abbiamo scoperto che una proprietà è un oggetto, allora abbiamo controllato se è congelato o meno. Se il valore di una proprietà è un oggetto e ancora non è congelato, allora invochiamo l'oggetto.Metodo Freeze () su quella proprietà in modo ricorsivo.
Dall'output sopra offerto, è chiaro che l'approccio di congelamento profondo impedisce l'oggetto di essere modificato.
Conclusione
In JavaScript, gli approcci di congelamento profondo e profondo rendono un oggetto immutabile/non modificabile. La differenza tra congelamento superficiale e profondo congelamento è che il congelamento superficiale non si occupa degli oggetti/array nidificati. D'altra parte, l'approccio di congelamento profondo può essere utilizzato per congelare completamente un oggetto che include gli oggetti/array nidificati. Questo articolo ha spiegato il funzionamento di congelamento superficiale e profondo con l'aiuto di esempi adeguati.