JavaScript Descripción de la propiedad de bloqueo


Ejemplo

5

El descriptor de una propiedad se puede bloquear para que no se puedan realizar cambios en él. Aún será posible utilizar la propiedad normalmente, asignándole y recuperando el valor, pero cualquier intento de redefinirla generará una excepción.

La propiedad configurable del descriptor de propiedad se utiliza para rechazar cualquier cambio adicional en el descriptor.

var obj = {};

// Define 'foo' as read only and lock it
Object.defineProperty(obj, "foo", { 
    value: "original value", 
    writable: false, 
    configurable: false
});
 
Object.defineProperty(obj, "foo", {writable: true});

Este error será lanzado:

TypeError: No se puede redefinir la propiedad: foo

Y la propiedad seguirá siendo de solo lectura.

obj.foo = "new value";
console.log(foo);

Salida de consola

Valor original