/*
* target 处理的对象
* handler
*/
let obj = {
a: 1,
b: 2
}
let objFun = {
get: (target, key) => {
// target 数据本身
// key 数据的key
// 判断obj原型上有没有key
if (key in obj) {
return obj[key];
} else {
throw new Error('属性不存在')
}
},
set: (target, prop, value) => {
// target 目标对象
// prop 被设置的属性
// value 修改后的值
if (value < 10) {
return obj[prop] = value
} else {
throw new Error(`${prop}不能大于10`)
}
}
}
let objProxy = new Proxy(obj, objFun)
objProxy.a = 2
console.log(objProxy['a']);