--- title: Object.isExtensible() slug: Web/JavaScript/Reference/Global_Objects/Object/isExtensible translation_of: Web/JavaScript/Reference/Global_Objects/Object/isExtensible ---
{{JSRef}}

El mètode Object.isExtensible() determina si un objecte és extensible (és a dir, si accepta l'addició de noves propietats).

Sintaxi

Object.isExtensible(obj)

Paràmetres

obj
L'objecte del que comprovarà l'extensibilitat.

Descripció

Per defecte tots els objectes són extensibles: se'ls hi poden afegir noves propietats, i (en objectes que suportin {{jsxref("Object.proto", "__proto__")}} {{deprecated_inline}} la seva propietat __proto__ property) es pot modificar. Es pot marcar un objecte com a no extensible utilitzant {{jsxref("Object.preventExtensions()")}}, {{jsxref("Object.seal()")}}, o bé {{jsxref("Object.freeze()")}}.

Exemples

// Els objectes nous són extensibles.
var empty = {};
Object.isExtensible(empty); // === true

// ...pero això pot canviar.
Object.preventExtensions(empty);
Object.isExtensible(empty); // === false

// Els objectes segellats són no extensibles per definició
var sealed = Object.seal({});
Object.isExtensible(sealed); // === false

// Els objectes congelats també són no extensibes per definició
var frozen = Object.freeze({});
Object.isExtensible(frozen); // === false

Notes

A l'EcmaScript 5, si l'argument d'aquest mètode no és un objecte (un valor primitiu) es llençarà una excepció {{jsxref("TypeError")}}. A l'EcmaScript 6, un argument que no sigui un objecte es tractarà com si fós un objecte no extensible ordinari i simplement retornarà false.

Object.isExtensible(1);
// TypeError: 1 no és un objecte (codi EcmaScript 5)

Object.isExtensible(1);
// false                         (codi EcmaScript 6)

Especificacions

Especificació Estat Comentaris
{{SpecName('ES5.1', '#sec-15.2.3.13', 'Object.isExtensible')}} {{Spec2('ES5.1')}} Definició inicial. Implementat a JavaScript 1.8.5.
{{SpecName('ES6', '#sec-object.isextensible', 'Object.isExtensible')}} {{Spec2('ES6')}}  

Compatibilitat amb navegadors

{{CompatibilityTable}}
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic {{CompatChrome("6")}} {{CompatGeckoDesktop("2.0")}} {{CompatIE("9")}} {{CompatOpera("12")}} {{CompatSafari("5.1")}}
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Vegeu també