快捷导航

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

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'){                        thrownewError('不可以修改sex')                }else{target[key]=value;}        }
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP