猿问
下载APP

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


}


dachuan
浏览 605回答 1
1回答

八神光

你的代码里并没有不让修改sex呀,只是修改sex会不生效而已。如果不允许修改sex的话,可以这么改set(target, key, value) {   if (key === 'sex') {     throw new Error('不可以修改sex')   } else {     target[key] = value;   }  }
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答