JavaScript Object.freeze ()

Metoda JavaScript Object.freeze () blochează un obiect.

Un obiect înghețat nu mai poate fi schimbat. Congelarea unui obiect împiedică:

  • Proprietăți noi de la adăugarea la obiect.
  • Proprietățile existente care trebuie eliminate din obiect.
  • Modificarea enumerabilității, configurabilității sau scrierii proprietăților existente.
  • Modificarea valorilor proprietăților și prototipului obiectului existent.

Sintaxa freeze()metodei este:

 Object.freeze(obj)

freeze()Metoda, fiind o metodă statică, se numește folosind Objectnumele clasei.

freeze () Parametri

freeze()Metoda ia în:

  • obj - Obiectul de înghețat.

Returnează valoarea din freeze ()

  • Obiectul care a fost transmis funcției.

Note :

  • Orice încercare de a adăuga sau a elimina din setul de proprietăți al obiectelor înghețate va eșua fie în tăcere, fie aruncată TypeError(mai ales atunci când este în modul strict).
  • Obiectele sigilate cu Object.seal()pot avea proprietățile existente modificate în timp ce Object.freeze()fac proprietățile existente imuabile.

Exemplu: Folosirea freeze ()

 let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))

Ieșire

 true true bar nedefinit

Notă : Object.freeze(obj)se aplică numai proprietăților imediate ale obj. Dacă valoarea acelor proprietăți sunt obiecte în sine, acele obiecte nu sunt înghețate și pot fi ținta operațiunilor de adăugare, eliminare sau reatribuire a proprietății.

Lectură recomandată: sigiliul obiectului JavaScript ()

Articole interesante...