Object.isExtensible()
El método Object.isExtensible()
determina si un objeto es extendible (si puede tener propiedades nuevas agregadas a éste).
Síntaxis
Object.isExtensible(obj)
Parametros
obj
- El objeto a ser revisado.
Descripción
Los objetos son extendibles por defecto: ellos pueden tener propiedades nuevas agregadas a ellos, y (en motores que soportan __proto__
la propiedad __proto__) pueden ser modificados. Un objeto puede ser marcado como no extendible usando Object.preventExtensions()
, Object.seal()
, o Object.freeze()
.
Ejemplos
// Los Objetos nuevos son extendibles (por defecto).
var empty = {};
Object.isExtensible(empty); // === true
// ...pero eso puede cambiar.
Object.preventExtensions(empty);
Object.isExtensible(empty); // === false
// Objetos sellados por definición son no-extendibles.
var sealed = Object.seal({});
Object.isExtensible(sealed); // === false
// Objetos congelados también por definición son no-extendibles.
var frozen = Object.freeze({});
Object.isExtensible(frozen); // === false
Notas
En ES5, si el argumento pasado a éste método no es un objeto (primitivo), entonces regresará TypeError
. En ES6, un no-objeto pasado como argumento será tratado como si fuera un objeto no-extendible ordinario, simplemente regresa false
.
Object.isExtensible(1);
// TypeError: 1 is not an object (ES5 code)
Object.isExtensible(1);
// false (ES6 code)
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 5.1 (ECMA-262) La definición de 'Object.isExtensible' en esta especificación. |
Standard | Definición inicial. Implementada en JavaScript 1.8.5. |
ECMAScript 2015 (6th Edition, ECMA-262) La definición de 'Object.isExtensible' en esta especificación. |
Standard |
Compatibilidad con navegadores
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! (en-US)
Caracteristica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | 6 | 4.0 (2.0) | 9 | 12 | 5.1 |
Caracteristica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporote básico | ? | ? | ? | ? | ? | ? |