Erro na propriedade do acessador: não é possível redefinir 'status' da propriedade não configurável
Estou tentando definir um objeto e criar umaccessor property por isso.
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);
}
});
Mas quando eu o uso, lança o erro mencionado no título da pergunta:
console.log(crudMode.mode);
Throws:
TypeError: não é possível redefinir a propriedade não configurável 'mode'
O que há de errado aqui?