Сводка
Метод Object.isExtensible()
определяет, является ли объект расширяемым (то есть, можно ли к нему добавлять новые свойства).
Синтаксис
Object.isExtensible(obj)
Параметры
obj
- Проверяемый объект.
Описание
Объекты являются расширяемыми по умолчанию: к ним можно добавлять новые свойства и (в движках, поддерживающих свойство __proto__
) их можно изменять. Объект может быть помечен, как не изменяемый с помощью методов Object.preventExtensions()
, Object.seal()
или Object.freeze()
.
Примеры
// Новые объекты являются расширяемыми. var empty = {}; assert(Object.isExtensible(empty) === true); // ...но это может быть изменено. Object.preventExtensions(empty); assert(Object.isExtensible(empty) === false); // Запечатанные объекты по определению не расширяемы. var sealed = Object.seal({}); assert(Object.isExtensible(sealed) === false); // Замороженные объекты также по определению не расширяемы. var frozen = Object.freeze({}); assert(Object.isExtensible(frozen) === false);
Примечания
В ES5, если аргумент метода не является объектом (является примитивным значением), будет выброшено исключение TypeError
. В ES6 такой аргумент будет рассматриваться, как простой не расширяемый объект и метод просто вернёт false
.
> Object.isExtensible(1) TypeError: 1 is not an object // код ES5 > Object.isExtensible(1) false // код ES6
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 5.1 (ECMA-262) Определение 'Object.isExtensible' в этой спецификации. |
Стандарт | Изначальное определение. Реализована в JavaScript 1.8.5. |
ECMAScript 6 (ECMA-262) Определение 'Object.isExtensible' в этой спецификации. |
Кандидат в рекомендации |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 6 | 4.0 (2.0) | 9 | 12 | 5.1 |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | ? | ? | ? | ? | ? | ? |
На основе таблицы совместимости Kangax.