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

为何修改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 回答

已采纳
?
八神光

TA贡献12条经验 获得超14个赞

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

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

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


查看完整回答
2 反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 1231 浏览
慕课专栏
更多

添加回答

举报

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