JavaScript Object.freeze()

Определение и использование

Object.freeze() Метод используется для предотвращения любых изменений в объекте.

В нестрогом режиме:Object.freeze() Метод молча проваливается.

В строгом режиме:Object.freeze() Метод вызывает ошибку TypeError.

Замороженные объекты являются только читаемыми. Изменение, добавление или удаление свойств не разрешено.

Можно использовать Object.isFrozen() Методы для проверки, был ли объект заморожен.

См. также методы:

Object.preventExtensions() Разрешено изменять, но добавление свойств запрещено.

Object.seal() Разрешает модификацию, но запрещает добавление и удаление свойств.

Object.freeze() Запрещает модификацию, добавление и удаление свойств.

Object.isExtensible() Возвращает true, если объект расширяемый.

Object.isSealed() Возвращает true, если объект запечатан.

Object.isFrozen() Возвращает true, если объект заморожен.

Пример

Пример 1

"use strict"
// Создать объект
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Заморозить объект
Object.freeze(person);
// Это вызовет ошибку
person.age = 51;

Попробуйте сами

Пример 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Это вызовет ошибку:
fruits.push("Kiwi");

Попробуйте сами

Грамматика

Object.freeze(object)

Параметр

Параметр Описание
object Обязателен. Объект, который нужно заморозить.

Возвратное значение

Тип Описание
Object Замороженные объекты.

Поддержка браузерами

Object.freeze() Это характеристики ECMAScript5 (ES5).

С июля 2013 года все современные браузеры полностью поддерживают ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
Сентябрь 2012 года Сентябрь 2012 года Апрель 2013 года Июль 2012 года Июль 2013 года