Come prevenire la modifica degli oggetti in JavaScript

Come prevenire la modifica degli oggetti in JavaScript

JavaScript offre più metodi per prevenire la modifica di oggetti come l'oggetto.PreventExtensions (), oggetto.sigillo () e oggetto.congelare(). Tutti questi metodi si assicurano che nessuno possa modificare la funzionalità di un oggetto intenzionalmente o accidentalmente.

Questo post descriverà i metodi di seguito elencati per prevenire le modifiche di un oggetto in JavaScript:

  • Oggetto.PreventExtensions ()
  • Oggetto.foca()
  • Oggetto.congelare()

Quindi iniziamo!

Oggetto.PreventExtensions ()

I punti sotto l'elenco spiegheranno quale sia esattamente il metodo preventive ():

  • Il metodo prevenditextensions () limita un utente ad aggiungere nuovi metodi o proprietà.
  • Consente all'utente di eliminare i metodi e le proprietà esistenti
  • Permette agli utenti di accedere ai metodi/proprietà esistenti.

Ecco la sintassi dell'oggetto.Metodo preventivo ():

1
Oggetto.PreventExtensions (OBJ);

Consideriamo il blocco di codice seguente per capire come funziona il metodo PreventExtensions () in JavaScript:

1
2
3
4
5
6
7
8
9
10
const empobj =
Empname: "Dean"
;
Oggetto.PreventExtensions (EMPOBJ);
empobj.empName = "Dean Jones";
empobj.empid = 12;
console.Log ("Nome dipendente:", EMPOBJ.empname);
console.log ("ID dipendente:", eMPOBJ.empid);

In questo programma,

  • Inizialmente, abbiamo creato un oggetto chiamato "EMPOBJ".
  • L'oggetto "empobj" ha una proprietà i.e., "Empname".
  • Successivamente, abbiamo utilizzato l'oggetto.Metodo preventivo () per bloccare il "empobj".
  • Nella riga successiva, abbiamo modificato la proprietà EmpName i.e., Gli abbiamo assegnato un nuovo valore "Dean Jones".
  • Successivamente, abbiamo cercato di aggiungere un nuovo nome di proprietà "empid" all'empObj.
  • Infine, abbiamo stampato entrambe le proprietà utilizzando la console.Metodo log ().

L'output ha verificato che la proprietà esistente modificata correttamente, tuttavia, la nuova proprietà non può essere aggiunta all'oggetto limitato/bloccato.

Oggetto.foca()

Considera i punti seguenti per ottenere la comprensione di base dell'oggetto.Metodo Seal ():

  • L'oggetto.Il metodo SEAL () limita un utente ad aggiungere nuovi metodi o proprietà.
  • Limita l'utente di eliminare i metodi e le proprietà esistenti
  • Permette agli utenti di accedere ai metodi/proprietà esistenti.

Ecco la sintassi dell'oggetto.Metodo preventivo ():

1
Oggetto.sigillo (obj);

Il blocco di codice di seguito dà spiegherà il funzionamento dell'oggetto.sigillo () in javascript:

1
2
3
4
5
6
7
8
const empobj =
Empname: "Dean"
;
Elimina empobj.empname;
empobj.empid = 12;
console.Log ("Nome dipendente:", EMPOBJ.empname);
console.log ("ID dipendente:", eMPOBJ.empid);
  • Abbiamo utilizzato l'oggetto.Metodo Seal () per bloccare "empobj".
  • Nella riga successiva, abbiamo cercato di eliminare la proprietà EmpName.
  • Successivamente, abbiamo cercato di aggiungere un nuovo nome di proprietà "empid" all'empObj.
  • Infine, abbiamo stampato entrambe le proprietà utilizzando la console.Metodo log ().

L'output ha verificato il metodo di funzionamento del sigillo () in javascript.

Oggetto.congelare()

Il metodo Freeze () congela completamente l'oggetto. Il punto seguente ti fornirà una maggiore chiarezza sul metodo Freeze ():

  • L'oggetto.Il metodo Freeze () limita un utente ad aggiungere nuovi metodi/proprietà.
  • Limita l'utente di eliminare i metodi e le proprietà esistenti
  • Limita gli utenti ad accedere ai metodi/proprietà esistenti.

La sintassi dell'oggetto.Il metodo preventivo () sarà qualcosa del genere:

1
Oggetto.Freeze (OBJ);

Diamo un'occhiata al blocco di codice seguente per ottenere la comprensione di base dell'oggetto.Metodo Freeze ():

1
2
3
4
5
6
7
8
9
10
11
const empobj =
Empname: "Dean"
;
Oggetto.Freeze (empobj);
Elimina empobj.empname;
empobj.empName = "Dean Jones";
empobj.empid = 12;
console.Log ("Nome dipendente:", EMPOBJ.empname);
console.log ("ID dipendente:", eMPOBJ.empid);
  • Abbiamo utilizzato l'oggetto.Metodo Freeze () per bloccare "empobj".
  • Successivamente, abbiamo cercato di eliminare la proprietà EmpName.
  • Successivamente, abbiamo provato a modificare la proprietà esistente i.e., empname.
  • Successivamente, abbiamo cercato di aggiungere un nuovo nome di proprietà "empid" all'empObj.
  • Infine, abbiamo stampato entrambe le proprietà utilizzando la console.Metodo log ().

L'output ha verificato che il metodo Freeze () non elimina la proprietà EmpName. Ha restituito il valore della proprietà originale anziché il valore modificato. Inoltre, non ha aggiunto la nuova proprietà "empid".

Conclusione

JavaScript fornisce alcuni metodi integrati che assicurano che nessuno possa modificare la funzionalità di un oggetto intenzionalmente o accidentalmente. Ad esempio, l'oggetto.PreventExtensions (), oggetto.Metodi Seal () impediscono a un oggetto di modifiche parziali. Tuttavia, il metodo Freeze () congela completamente l'oggetto. Questo articolo ha spiegato tre diversi metodi per prevenire le modifiche degli oggetti in JavaScript.