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 Object
klases 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, vienlaikusObject.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 ()