JavaScripti Object.freeze () meetod külmutab objekti.
Tardunud objekti ei saa enam muuta. Objekti külmumine takistab:
- Uute omaduste lisamine objektile.
- Objektilt eemaldatavad olemasolevad omadused.
- Olemasolevate omaduste loendatavuse, seadistatavuse või kirjutatavuse muutmine.
- Olemasolevate objekti omaduste ja prototüübi väärtuste muutmine.
Meetodi süntaks freeze()
on:
Object.freeze(obj)
freeze()
Meetod, olles staatiline meetod, nimetatakse kasutades Object
klassi nimi.
külmutama () parameetrid
freeze()
Meetod võtab:
- obj - külmumisobjekt.
Tagastusväärtus külmutamisel ()
- Funktsioonile edastatud objekt.
Märkused :
- Kõik katsed külmutatud objektide komplekti lisada või omadustest eemaldada nurjuvad kas vaikselt või viskamine
TypeError
(enamasti ranges režiimis). - Pitseeritud objektide
Object.seal()
olemasolevaid omadusi saab muuta, muutes samasObject.freeze()
olemasolevad omadused muutumatuks.
Näide: külmutamise () kasutamine
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 ))
Väljund
tõeline tõeline riba määratlemata
Märkus : Object.freeze(obj)
kehtib ainult obj
. Kui nende omaduste väärtus on objektid ise, pole need objektid külmutatud ja need võivad olla omaduste lisamise, eemaldamise või väärtuse ümberpaigutamise toimingute sihtmärk.
Soovitatav lugemine: JavaScripti objekti pitser ()