JavaScript Object.seal()

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

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

Object.seal() Этот метод беззвучно терпит неудачу в нестрогом режиме.

Object.seal() Этот метод вызывает TypeError в строгом режиме.

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

Связанные методы:

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.seal(person);
// Следующие действия приведут к ошибке
delete person.age;

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

Пример 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// Следующие действия приведут к ошибке:
fruits.push("Kiwi");

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

Синтаксис

Object.seal(object)

Параметр

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

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

Тип Описание
Object Объект, после его герметизации.

Поддержка браузеров

Object.seal() Это функция ECMAScript5 (ES5).

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

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012.9 2012.9 2013.4 2012.7 2013.7