Метод Object.freeze()
"use strict"
// Создать объект
const person = {
firstName: "Андрей",
lastName: "Щипунов",
age: 50,
eyeColor: "blue"
};
// Заморозить объект
Object.freeze(person)
// Это вызовет ошибку
person.age = 51;
Попробуйте сами »
Больше примеров ниже!
Описание
Метод Object.freeze() предотвращает любые изменения объекта.
Метод Object.freeze() завершится ошибкой в нестрогом режиме.
Метод Object.freeze() выдаст ошибку TypeError в строгом режиме.
Замороженные объекты доступны только для чтения. Никакое изменение, добавление или удаление свойств не допускается.
Метод Object.isFrozen() можно использовать для проверки того, заморожен ли объект.
Связанные методы:
Object.preventExtensions() разрешает изменения, но запрещает добавление свойств.
Object.seal() разрешает внесение изменений, но запрещает добавление и удаление свойств.
Object.freeze() предотвращает изменение, добавление и удаление свойств.
Object.isExtensible() возвращает true, если объект является расширяемым.
Object.isSealed() возвращает true, если объект запечатан.
Object.isFrozen() возвращает true, если объект заморожен.
Синтаксис
Object.freeze(object)
Параметры
| Параметр | Описание |
| object | Обязательно. Объект, который нужно заморозить. |
Возвращаемое значение
| Тип | Описание |
| Object | Замороженный объект. |
Больше примеров
const fruits = ["Банан", "Апельсин", "Яблоко", "Манго"];
Object.freeze(fruits);
// Это вызовет ошибку:
fruits.push("Киви");
Попробуйте сами »
Поддержка браузера
Object.freeze() — функция ECMAScript5 (ES5).
ES5 (JavaScript 2009) полностью поддерживается во всех современных браузерах с июля 2013 года:
| Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
| Sep 2012 | Sep 2012 | Apr 2013 | Jul 2012 | Jul 2013 |