Сводка
Метод 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.