Spec-Zone.ru › JavaScript

Object.isExtensible()

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

Статический метод Object.isExtensible() определяет, является ли объект расширяемым (т. е. можно ли к нему добавлять новые свойства).

Попробуйте

const object = {};

console.log(Object.isExtensible(object));
// Expected output: true

Object.preventExtensions(object);

console.log(Object.isExtensible(object));
// Expected output: false

Синтаксис

Object.isExtensible(obj)

Параметры

obj
Объект, который нужно проверить.

Возвращаемое значение

Boolean, указывающий, является ли данный объект расширяемым.

Описание

Объекты по умолчанию являются расширяемыми: к ним можно добавлять новые свойства, а их [[Prototype]] можно переназначать. Объект можно пометить как нерасширяемый с помощью одного из методов: Object.preventExtensions(), Object.seal(), Object.freeze() или Reflect.preventExtensions().

Примеры

Использование Object.isExtensible

// New objects are extensible.
const empty = {};
Object.isExtensible(empty); // true

// They can be made un-extensible
Object.preventExtensions(empty);
Object.isExtensible(empty); // false

// Sealed objects are by definition non-extensible.
const sealed = Object.seal({});
Object.isExtensible(sealed); // false

// Frozen objects are also by definition non-extensible.
const frozen = Object.freeze({});
Object.isExtensible(frozen); // false

Аргумент не является объектом

В ES5, если аргумент этого метода не является объектом (примитив), это вызовет TypeError. В ES2015, если передан аргумент не являющийся объектом, метод вернет false без каких-либо ошибок, поскольку примитивы по определению неизменяемы.

Object.isExtensible(1);
// TypeError: 1 is not an object (ES5 code)

Object.isExtensible(1);
// false                         (ES2015 code)

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-object.isextensible

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
isExtensible
6
12
4
12
5.1
18
4
12
5
1.0
4.4
5
1.0.0
1.0
0.10.0

См. также

  • Object.preventExtensions()
  • Object.seal()
  • Object.isSealed()
  • Object.freeze()
  • Object.isFrozen()
  • Reflect.isExtensible()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API