Атрибут extensible

Атрибут extensible объекта определяет, допускается ли добавлять в объект новые свойства.

В ECMAScript 5 все встроенные и определяемые пользователем объекты являются расширяемыми, если они не были преобразованы в нерасширяемые объекты, а расширяемость объектов среды выполнения по-прежнему определяется каждой конкретной реализацией. Стандарт ECMAScript 5 определяет функции для получения и изменения признака расширяемости объекта. Чтобы определить, допускается ли расширять объект, его следует передать методу Object.isExtensible().


Object.isExtensible()

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

Возвращет true, если в объект можно расширить новыми свойствами, и false – если нет.

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

Синтаксис:

Object.isExtensible(o)

Пример:

var o = {}; // Соз­дать но­вый объ­ект

Object.isExtensible(o) // => true: он яв­ля­ет­ся рас­ши­ряе­мым
Object.preventExtensions(o); // Сде­лать не­рас­ши­ряе­мым
Object.isExtensible(o) // => false: те­перь он не­рас­ши­ряе­мый

results matching ""

    No results matching ""