Reflect与Object中的方法类似,vue3采用proxy和reflect实现的双向绑定,因此,就学习一下Reflect中的方法,加深理解
1 Reflect.get
通常配合proxy使用,获取属性值
let x={p:1,foo:2}
let y={foo:3}
let obj=new Proxy(x,{
get(target,key,receiver){
console.log(receiver[key]+'bar')
}
})
Reflect.get(obj,'foo',y) //3bar
2 Reflect.set
用于设置属性
const target={set a(v){this.b=v}}
const reveiver={}
Reflect.set(target,'a',3,receiver)
3 Reflect.has
检查是否含有某个属性
4 Relfect.ownKeys
用于遍历对象,可以遍历symbol作为键名的属性
5 Reflect.deleteProperty
删除某个属性