JavaScript Object.freeze ()

JavaScript Object.freeze () metode sasaldē objektu.

Sasalušu objektu vairs nevar mainīt. Objekta sasalšana novērš:

  • Jaunas īpašības netiek pievienotas objektam.
  • Esošās īpašības, kas jānoņem no objekta.
  • Esošo rekvizītu uzskaitāmības, konfigurējamības vai rakstāmības maiņa.
  • Esošo objekta īpašību un prototipa vērtību mainīšana.

Metodes sintakse freeze()ir šāda:

 Object.freeze(obj)

freeze()Metodi, kas ir statiska metode, sauc izmantojot Objectklases nosaukumu.

iesaldēt () parametri

freeze()Metode ņem in:

  • obj - iesaldēšanas objekts.

Atgriešanās vērtība no iesaldēšanas ()

  • Objekts, kas tika nodots funkcijai.

Piezīmes :

  • Jebkurš mēģinājums pievienot vai noņemt no iesaldētu objektu īpašībām neizdosies vai nu klusi, vai arī mest TypeError(pārsvarā stingrā režīmā).
  • Ar aizzīmogotiem objektiem Object.seal()var mainīt to esošās īpašības, vienlaikus Object.freeze()padarot esošās īpašības nemainīgas.

Piemērs: iesaldēšanas () izmantošana

 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 ))

Rezultāts

 true true bar undefined

Piezīme : Object.freeze(obj)attiecas tikai uz obj. Ja šo īpašību vērtība ir paši objekti, šie objekti nav iesaldēti un var būt īpašuma pievienošanas, noņemšanas vai vērtības pārdalīšanas darbību mērķis.

Ieteicamā literatūra: JavaScript objekta zīmogs ()

Interesanti raksti...