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 __proto__
la seva propietat __proto__ property) es pot modificar. Es pot marcar un objecte com a no extensible utilitzant Object.preventExtensions()
, Object.seal()
, o bé 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ó 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 |
---|---|---|
ECMAScript 5.1 (ECMA-262) The definition of 'Object.isExtensible' in that specification. |
Standard | Definició inicial. Implementat a JavaScript 1.8.5. |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Object.isExtensible' in that specification. |
Standard |
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | 6 | 4.0 (2.0) | 9 | 12 | 5.1 |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | ? | ? | ? | ? | ? | ? |