Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Object.isExtensible()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El métodoObject.isExtensible() determina si un objeto es extendible (si puede tener propiedades nuevas agregadas a éste).
In this article
Síntaxis
Object.isExtensible(obj)
Parametros
objEl objeto a ser revisado.
Descripción
Los objetos son extendibles por defecto: ellos pueden tener propiedades nuevas agregadas a ellos, y (en motores que soportanObject.prototype.__proto__Obsoleto la propiedad __proto__) pueden ser modificados. Un objeto puede ser marcado como no extendible usandoObject.preventExtensions(),Object.seal(), oObject.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); // === falseNotas
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 regresafalse.
Object.isExtensible(1);// TypeError: 1 is not an object (ES5 code)Object.isExtensible(1);// false (ES6 code)Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.isextensible> |