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貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超14個(gè)贊
你的代碼里并沒有不讓修改sex呀,只是修改sex會(huì)不生效而已。
如果不允許修改sex的話,可以這么改
set(target,?key,?value)?{ ??if?(key?===?'sex')?{ ????throw?new?Error('不可以修改sex') ??}?else?{ ????target[key]?=?value; ??}? }
添加回答
舉報(bào)
0/150
提交
取消