Object.isExtensible()
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
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help!
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 | ? | ? | ? | ? | ? | ? |