Come congelare un oggetto in javascript

Come congelare un oggetto in javascript
Sei mai stato coinvolto in una situazione in cui è necessario creare un oggetto JavaScript immutabile e impedirgli di modificare i valori delle proprietà esistenti? In tal caso, utilizza il "Oggetto.congelare()"Metodo nel tuo programma JavaScript e rendilo un immutabile tipo di dati.

Cos'è l'oggetto.Metodo Freeze ()

IL "Oggetto.congelare()"Il metodo viene utilizzato congelare un già dichiarato oggetto E limitare tutto da manipolazione come l'aggiunta di nuove proprietà, la rimozione delle proprietà esistenti e l'aggiornamento dei valori delle proprietà esistenti.

Questo post discuterà il metodo per congelare un oggetto in JavaScript. Quindi iniziamo!

Come congelare un oggetto in javascript

Per impostazione predefinita, gli oggetti JavaScript sono di "mutevole"Tipo di dati, il che significa che i loro valori possono essere modificati nel tempo. Tuttavia, puoi farcela "immutabile"Dichiarandolo come"costante".

Quando un oggetto viene creato usando il "const"Parola chiave, puoi ancora riassegnare o modificare individualmente i valori delle sue proprietà, ma essendo un tipo di dati immutabile, JavaScript non ti consente di riassegnare l'intero oggetto a qualcos'altro.

Dai un'occhiata al seguente esempio per capire il concetto dichiarato.

Esempio

Ad esempio, creeremo un oggetto chiamato "dipendente"Avere le seguenti proprietà:

const dipendente =
Età: 30,
Nome: "Alex"
;
console.registro (dipendente);

Dopo averlo fatto, proveremo ad aggiornare i valori di "dipendente"Oggetto nel suo insieme:

dipendente =
Età: 35,
Nome: "Paul"
;
console.registro (dipendente);

Come puoi vedere, l'esecuzione dell'operazione specificata Output A “TAYEERROR"Che afferma che l'assegnazione a una variabile costante già dichiarata non è possibile:

Ora controlleremo l'altro caso riassegnando individualmente un valore per il dipendente Oggetto "nome" proprietà:

dipendente.name = "max";
console.registro ("Dopo aver cambiato il dipendente.Nome del valore della proprietà ");
console.registro (dipendente);

L'output dato significa che il "dipendente.nome"Il valore della proprietà viene aggiornato a"Max":

Ora, è dimostrato che sebbene un oggetto diventa "immutabile"Con l'aiuto del"const"Parola chiave, ti consente ancora di riassegnare singolarmente i valori delle proprietà.

Puoi "congelare"Un oggetto in una situazione in cui è necessario per impedire all'oggetto di aggiornare le proprietà esistenti o l'aggiunta di nuove proprietà.

Voglio farlo? Segui la sezione di seguito per saperne di più sul congelamento di un oggetto in JavaScript.

Come congelare un oggetto in JavaScript usando l'oggetto.Metodo Freeze ()

IL "Oggetto.congelare()"Il metodo viene utilizzato per congelare un oggetto già dichiarato. Quando un oggetto viene congelato, impedisce la cancellazione delle proprietà degli oggetti esistenti, l'aggiunta di nuove proprietà, l'aggiornamento dell'enumerabilità, la scrittibilità e la configurabilità delle proprietà esistenti. Inoltre, non è possibile modificare il prototipo dell'oggetto e il valore delle proprietà esistenti dopo aver congelato l'oggetto correlato.

Sintassi

Oggetto.Freeze (OBJ)

Qui, "obj"Rappresenta l'oggetto JavaScript che verrà congelato con l'aiuto di"Oggetto.congelare()" metodo.

Esempio: come congelare un oggetto in JavaScript usando l'oggetto.Metodo Freeze ()

Prima di tutto, congeleremo il "dipendente"Oggetto usando il"Oggetto.congelare()" metodo:

Oggetto.congelamento (dipendente);

Al momento del congelamento del "dipendente"Oggetto, il valore di"dipendente.età" È "30," e il "dipendente.nome"È impostato come"Max":

Nel prossimo passaggio, verificheremo se il "dipendente"L'oggetto è congelato o no. A tale scopo, JavaScript offre "Oggetto.è congelato()"Metodo integrato che accetta un JavaScript"oggetto"Come argomento e ritorna"VERO"Se l'oggetto passato viene congelato, altrimenti il ​​caso di ritorno di"Oggetto.è congelato()Il metodo "sarà impostato su"falso":

Oggetto.Isfrozen (dipendente);

Produzione

Il valore restituito dal "Oggetto.è congelato()Il metodo "è"VERO,"Che indica che il"dipendente"L'oggetto viene congelato con successo.

Aggiornamento della proprietà dell'oggetto congelato in modalità rigorosa vs modalità non resistente

Ora cercheremo di aggiornare il "dipendente.nome"Valore della proprietà a"Paolo":

dipendente.name = "Paul";
console.registro (dipendente);

Se ti trovi in ​​"non strumento"Modalità, quindi l'operazione specificata del valore di aggiornamento non riuscirà silenziosamente:

Tuttavia, nel caso di "Modalità rigorosa", UN "TAYEERROR"Verrà inoltre visualizzato sulla console, interrompendo il funzionamento di aggiornamento del congelato"dipendente"Oggetto:

"Usa rigoroso";
dipendente.name = "Paul";
console.registro (dipendente);

Produzione

Eliminazione della proprietà dell'oggetto congelato in modalità rigorosa vs modalità non resistente

Allo stesso modo, non è possibile eliminare una proprietà esistente di un oggetto congelato:

Elimina i dipendenti.nome;
console.registro (dipendente);

Il codice sopra dato proverà a rimuovere il "nome"Proprietà del"dipendente"Oggetto e fallisci silenziosamente in"non strumento" modalità:

Mentre, in "rigoroso modalità", UN "TAYEERROR"Verrà mostrato sulla console, che afferma che non è possibile eliminare il"nome"Proprietà del"dipendente"Oggetto che abbiamo congelato con l'aiuto di"Oggetto.congelare()" metodo:

"Usa rigoroso";
Elimina i dipendenti.nome;
console.registro (dipendente);

Produzione

Queste erano tutte informazioni essenziali relative al congelamento di un oggetto in JavaScript. Puoi indagare ulteriormente in base alle tue preferenze.

Conclusione

Il JavaScript Oggetto.congelare() il metodo viene utilizzato per congelare un oggetto dichiarato. Quando un oggetto viene congelato, impedisce la cancellazione delle proprietà degli oggetti esistenti, l'aggiunta di nuove proprietà, l'aggiornamento dell'enumerabilità, la scrittibilità e la configurabilità delle proprietà esistenti. Inoltre, non è possibile modificare il prototipo degli oggetti e il valore delle proprietà esistenti dopo averlo congelato. Questo articolo ha discusso del metodo per congelare UN oggetto In JavaScript.