Estoy intentando definir un objeto y crear una propiedad de acceso para él.Error en la propiedad del descriptor de acceso: no se puede redefinir el estado de la propiedad no configurable
HTML:
<input type='hidden' id='crudMode' value='Create' />
JavaScript:
crudMode = {
create: "Create",
read: "Read",
update: "Update",
delete: "Delete",
current: function() { return $('#crudMode').val(); }
}
Object.defineProperty(crudMode, 'mode', {
get: function(){
return this.current();
},
set: function(value){
$('#crudMode').val(value);
}
});
Pero cuando lo uso, que arroja el error mencionado en el título de la pregunta:
console.log(crudMode.mode);
Lanza:
TypeError: can't redefine non-configurable property 'mode'
¿Qué pasa aquí?
¿Puedo anular la propiedad que una vez que se ha establecido no configurable? –
@ TomášZato la respuesta a su pregunta se encuentra en la documentación principal vinculada anteriormente. Una vez que se ha definido una propiedad con 'configurable' establecido en' false', la propiedad no se puede modificar ni eliminar. –