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; } }
添加回答
举报
0/150
提交
取消