proxy常和reflect搭配使用,当然他俩都是可以单独拿出来用的,他俩诞生的初衷也不是为了彼此成全,而是两个都是有一定独立的设计目的的,一个是代理,一个是映射。当然proxy和reflect搭配使用,可以更简便的使用的proxy

不使用reflect时

// reflect对proxy和之间的关系
let obj = {
name: "zkf",
sex: "male"
}
let handler = {
get(tanget, propKey,receiver) {
return tanget[propKey]
}
}
let proxy = new Proxy(obj,handler)
console.log(proxy.name) // zkf
let obj = {
name: "zkf",
sex: "male"
}
let handler = {
set(tanget, propKey, value, receiver) {
tanget[propKey] = value
}
}
let proxy = new Proxy(obj,handler)
obj.name = 'zhangkaifan'
console.log(proxy.name) // zhangkaifan

使用reflect时

// reflect对proxy和之间的关系
let obj = {
name: "zkf",
sex: "male"
}
let handler = {
get(tanget, propKey,receiver) {
return Reflect.get(tanget,propKey)
}
}
let proxy = new Proxy(obj,handler)

console.log(proxy.name)
let obj = {
name: "zkf",
sex: "male"
}
let handler = {
set(tanget, propKey, value, receiver) {
Reflect.set(tanget, propKey, value, receiver)
}
}
let proxy = new Proxy(obj,handler)
obj.name = 'zhangkaifan'
console.log(proxy.name)

二者对比是不是超方便