Error en la propiedad de acceso: no se puede redefinir el 'estado' de la propiedad no configurable
Estoy tratando de definir un objeto y crear unaaccessor property para ello
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, arroja el error mencionado en el título de la pregunta:
console.log(crudMode.mode);
Throws:
TypeError: no se puede redefinir la propiedad 'configurable' modo '
¿Qué pasa aquí?