(target, prop, receiver)
| 33 | function watch(obj, name) { |
| 34 | return new Proxy(obj, { |
| 35 | get(target, prop, receiver) { |
| 36 | let val = Reflect.get(target, prop, receiver); |
| 37 | if (val === undefined) { |
| 38 | // 只有脚本访问了不存在的属性时才打印,减少日志噪音 |
| 39 | console.log(`[Proxy] 访问了空属性: ${name}.${String(prop)}`); |
| 40 | } |
| 41 | return val; |
| 42 | }, |
| 43 | set(target, prop, value) { |
| 44 | console.log(`[Proxy] 设置属性: ${name}.${String(prop)} = ${value}`); |
| 45 | return Reflect.set(target, prop, value); |