get()
- get()捕获器会在获取属性值的操作中被调用。对应的反射 API 方法为 Reflect.get()。
const myTarget = {}; const proxy = new Proxy{myTarget, { get(target, property, receiver){ console.log('get()'); return Reflect.get(...arguments) } }} proxy.foo; // get()
-
返回值
返回值无限制。 -
拦截的操作
proxy.property proxy[property] Object.create(proxy)[property] Reflect.get(proxy, property, receiver) -
捕获器处理程序参数
target: 目标对象。
property: 引用的目标对象上的字符串键属性。
receiver: 代理对象或继承继承代理对象的对象。 -
捕获器不变式
如果 target.property 不可写且不可配置,则处理程序返回的值必须与 target.property 匹配。
如果 target.property 不可配置且[[get]]特性为 undefined,处理程序的返回值必须也是 undefined。