Методът JavaScript Object.freeze () замразява обект.
Замразеният обект вече не може да бъде променен. Замразяването на обект предотвратява:
- Добавени са нови свойства към обекта.
- Съществуващи свойства, които трябва да бъдат премахнати от обекта.
- Промяна на изброеността, конфигурируемостта или записваемостта на съществуващите свойства.
- Промяна на стойностите на съществуващите свойства на обекта и прототипа.
Синтаксисът на freeze()
метода е:
Object.freeze(obj)
В freeze()
метода, който е статичен метод, се нарича използване на Object
името клас.
freeze () Параметри
В freeze()
метода се в:
- obj - Обектът за замразяване.
Върната стойност от замразяване ()
- Обектът, който е предаден на функцията.
Бележки :
- Всички опити за добавяне или премахване от набор от свойства на замразени обекти ще се провалят безшумно или изхвърляне
TypeError
(най-вече в строг режим). - Обектите, запечатани с,
Object.seal()
могат да променят съществуващите си свойства, като същевременноObject.freeze()
правят съществуващите свойства неизменни.
Пример: Използване на 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 ))
Изход
true true бар undefined
Забележка : Object.freeze(obj)
отнася се само за непосредствените свойства на obj
. Ако стойността на тези свойства са самите обекти, тези обекти не са замразени и може да са обект на операции по добавяне, премахване или преназначаване на стойност.
Препоръчително четене: Печат на обект на JavaScript ()