Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.

The Object.isExtensible() метод визначає чи об'єкт є розширюваним (чи може об'єкт бути доповнений новими властивостями).

Синтаксис

Object.isExtensible(obj)

Параметри

obj
об'єкт, який необхідно перевірити.

Вихідне значення

Булеве значення що визначає чи є об'єкт розширюваним.

Опис

За замовчуванням об'єкти є розширюваними: нові властивості можуть додаватися до них і (у двигунах, що підтримують __proto__ їх __proto__ властивість) можуть модифікуватися. Об'єкт можна зробити нерозширюваним за допомогою Object.preventExtensions(), Object.seal(), or Object.freeze().

Приклади

// Нові об'єкти є розширюваними.
var empty = {};
Object.isExtensible(empty); // === true

// ...але це можна змінити.
Object.preventExtensions(empty);
Object.isExtensible(empty); // === false

// "Запечатані" об'єкти є за означенням нерозширюваними.
var sealed = Object.seal({});
Object.isExtensible(sealed); // === false

// "Заморожені" об'єкти також за означенням є нерозширюваними.
var 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)

Specifications

Specification Status Comment
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.isExtensible' in that specification.
Standard Initial definition. Implemented in JavaScript 1.8.5.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object.isExtensible' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Object.isExtensible' in that specification.
Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support 6Edge Full support YesFirefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

See also

Мітки документа й учасники

Зробили внесок у цю сторінку: OksanaH
Востаннє оновлена: OksanaH,