const p = new Proxy({ name: '路飞', age: 18}, { // 创建代理 // 查 get(target,propName){ console.log(`有人读取了p身上的${propName}`) return target[propName]; // 反射 return Reflect.get(target,propName) }, // 改 增 set(target, propName, value){ console.log(`有人修改了p身上的${propName}属性`); target[propName] = value; }, // 删 deleteProperty(target, propName){ console.log(`有人删除了p身上的${propName}属性`) return delete target[propName]; } }) console.log(p.name); // 有人读取了p身上的name p.obj.type = 'b' // 有人修改了p身上的name属性 delete p.age // 有人删除了p身上的age属性 console.log('p', p); // Proxy {name: '1234'}
return target[propName]; // 反射 return Reflect.get(target,propName)标签:return,log,name,console,propName,vue3,原理,target From: https://www.cnblogs.com/webtown/p/17079838.html
反射这部分,我也不是特别理解,懂的小伙伴,留言我学习下