Metoda JavaScript Object.freeze () zmrazí objekt.
Zmrazený objekt již nelze změnit. Zmrazení objektu zabrání:
- Nové vlastnosti z přidání do objektu.
- Stávající vlastnosti, které mají být z objektu odstraněny.
- Změna výčtu, konfigurovatelnosti nebo zapisovatelnosti existujících vlastností.
- Změna hodnot stávajících vlastností objektu a prototypu.
Syntaxe freeze()
metody je:
Object.freeze(obj)
freeze()
Metoda je statické metody, je nazýván pomocí Object
název třídy.
freeze () parametry
freeze()
Metoda bere v:
- obj - Objekt ke zmrazení.
Návratová hodnota ze zmrazení ()
- Objekt, který byl předán funkci.
Poznámky :
- Jakékoli pokusy o přidání nebo odebrání ze sady vlastností zmrazených objektů selžou buď tiše, nebo vyhodí
TypeError
(většinou v přísném režimu). - Objekty zapečetěné pomocí
Object.seal()
mohou mít své stávající vlastnosti změněné, zatímcoObject.freeze()
stávající vlastnosti budou neměnné.
Příklad: Použití 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ýstup
true true bar nedefinováno
Poznámka : Object.freeze(obj)
vztahuje se pouze na okamžité vlastnosti obj
. Pokud jsou hodnotou těchto vlastností samotné objekty, tyto objekty nejsou zmrazeny a mohou být cílem operací přidání, odebrání nebo opětovného přiřazení hodnoty.
Doporučená literatura: JavaScript Object seal ()