Proxy()代理后怎么修改name?为什么报错?
{
//ES6
let Person = {
name: 'es6',
sex: 'male',
age:15
}
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,
});
//修改
person.name = 'es6-cname';
//读取
console.table({
name: person.name,
sex: person.sex,
age: person.age,
});
}