El método JavaScript Object.preventExtensions () evita que se agreguen nuevas propiedades a un objeto.
La sintaxis del preventExtensions()
método es:
Object.preventExtensions(obj)
El preventExtensions()
método, al ser un método estático, se llama utilizando el Object
nombre de la clase.
Parámetros de preventExtensions ()
El preventExtensions()
método incluye:
- obj: el objeto que debe hacerse no extensible.
Valor de retorno de preventExtensions ()
- Devuelve el objeto que se hace no extensible.
Notas:
- Las propiedades de un objeto no extensible, en general, aún pueden eliminarse.
- Intentar agregar nuevas propiedades a un objeto no extensible fallará, ya sea de forma silenciosa o lanzando un
TypeError
en modo estricto. - Las propiedades aún se pueden agregar al prototipo del objeto no extensible.
Ejemplo: uso de preventExtensions ()
let obj = (); // by default, objects are extensible console.log(Object.isExtensible(obj)); // true let obj1 = Object.preventExtensions(obj); console.log(obj == obj1); // true -> Returns the same object console.log(Object.isExtensible(obj)); // false // TypeError: Cannot define property newProp, object is not extensible Object.defineProperty(obj, "newProp", ( value: 123456, ));
Salida
true true false TypeError: no se puede definir la propiedad newProp, el objeto no es extensible
Lectura recomendada: JavaScript Object.isExtensible ()