为了账号安全,请及时绑定邮箱和手机立即绑定

为何修改sex属性没有报错?

/ 猿问

为何修改sex属性没有报错?

dachuan 2019-01-16 11:26:10

let Person = {

name:'yue',

sex:'male',

age:14

};


let person = new Proxy(Person,{

get(target,key){

return target[key];

},

set(target,key,value){

if(key!=='sex'){

target[key] = value;

}

}

});

console.table({

name:person.name,

sex:person.sex,

age:person.age

});


try{

person.sex='female';

}catch(e){

console.log(e);

}finally{


}


查看完整描述

1 回答

已采纳
?
八神光

你的代码里并没有不让修改sex呀,只是修改sex会不生效而已。

如果不允许修改sex的话,可以这么改

set(target, key, value) {		
  if (key === 'sex') {			
    throw new Error('不可以修改sex')		
  } else {
    target[key] = value;
  } 	
}


查看完整回答
2 反对 回复 2019-01-16

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信