--- title: Object.isExtensible() slug: Web/JavaScript/Reference/Global_Objects/Object/isExtensible translation_of: Web/JavaScript/Reference/Global_Objects/Object/isExtensible ---
El mètode Object.isExtensible() determina si un objecte és extensible (és a dir, si accepta l'addició de noves propietats).
Object.isExtensible(obj)
objPer 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()")}}.
// 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
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)
| 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')}} |
| 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}} |