Object.seal()

Запечатывание. Создает «запечатанный» объект -- то есть принимает существующий объект и по сути применяет к немуObject.preventExtensions(..), но также помечает все существующие свойства какconfigurable:false.

Таким образом, вы не можете не только добавлять свойства, но и переконфигурировать или удалить существующие (хотя вы всё ещеможетеизменять их значения).

Функция Object.seal() делает объект o нерасширяемым (Object.preventExtensions()), а все его собственные свойства – ненастраиваемыми. Это предотвращает добваление новых свойств и удаление существующих. Действие этой функции необратимо: нерасширяемый объект с ненастраиваемыми свойствами нельзя вновь сделать расширяемым объектом. Имейте в виду, что Object.seal() не делает свойства объекта доступными только для чтения; используйте для этого функцию Object.freeze(). Отметьте также, что Object.se­al() не воздействует на унаследованные свойства. Если в цепочке прототипов объекта, обработанного функцией Object.seal(), имеется расширяемый и настраиваемый объект, тогда имеется возможность добавлять и удалять наследуемые им свойства.

Синтаксис:

Object.seal(o)

Object.isSealed()

Воз­мож­но ли до­бав­лять в объ­ект но­вые и уда­лять су­ще­ст­вую­щие свой­ст­ва?

Синтаксис:

Object.isSealed(o)

Возвращаемое значение: true, если объект o является нерасширяемым, с недоступными для настройки свойствами, и false – если нет.

Объект считается нерасширяемым, с недоступными для настройки свойствами, если в него нельзя добавить новые (неунаследованные) свойства и нельзя удалить существующие (неунаследованные) свойства. Функция Object.isSealed()проверяет, является ли ее аргумент нерасширяемым объектом, с недоступными для настройки свойствами, или нет. Недоступные для настройки свойства нельзя вновь сделать настраиваемыми. Обычно такие объекты получают с помощью функции Object.seal() или Object.freeze(). Однако того же эффекта можно добиться спомощью функции Object.preventExtensions(), с последующим вызовом Object.defineProperty(), чтобы сделать все свойства объекта неудаляемыми.

results matching ""

    No results matching ""