Metóda JavaScript Object.freeze () zmrazí objekt.
Zmrazený objekt už nie je možné zmeniť. Zmrazenie objektu zabráni:
- Nové vlastnosti z pridania k objektu.
- Existujúce vlastnosti, ktoré sa majú z objektu odstrániť.
- Zmena vymenovateľnosti, konfigurovateľnosti alebo zapisovateľnosti existujúcich vlastností.
- Zmena hodnôt existujúcich vlastností objektu a prototypu.
Syntax freeze()
metódy je:
Object.freeze(obj)
freeze()
Metóda je statické metódy, je nazývaný pomocou Object
názov triedy.
freeze () parametre
freeze()
Metóda berie v:
- obj - Objekt na zmrazenie.
Vrátiť hodnotu zo zmrazenia ()
- Objekt, ktorý bol odovzdaný funkcii.
Poznámky :
- Akékoľvek pokusy o pridanie alebo odstránenie zo sady vlastností zmrazených objektov zlyhajú buď potichu, alebo vyhodením
TypeError
(väčšinou v prísnom režime). - Objekty zapečatené pomocou
Object.seal()
môžu mať svoje existujúce vlastnosti zmenené, pričomObject.freeze()
súčasné vlastnosti budú nezmeniteľné.
Príklad: použitie 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 ))
Výkon
true true bar nedefinované
Poznámka : Object.freeze(obj)
vzťahuje sa iba na okamžité vlastnosti obj
. Ak sú hodnotou týchto vlastností samotné objekty, tieto objekty sa nezmrazia a môžu byť terčom operácií pridania, odstránenia alebo zmeny priradenia vlastnosti.
Odporúčané čítanie: JavaScriptová pečať objektu ()