【发布时间】:2018-01-04 12:42:38
【问题描述】:
到目前为止,我已经将 ES6 代理理解为一种添加拦截的方式,以允许您向代码添加自定义行为。实现此代码 sn-p 以拦截对数组的推送,但它记录了额外的“被困! 1'后推,我不知道为什么。有谁知道它为什么这样做?这是否意味着陷阱中的代码运行了两次?
const handler = {
set(target, propertyKey, value, receiver) {
console.log('trapped!', value);
return Reflect.set(target, propertyKey, value, receiver);
}
};
const p = new Proxy([], handler);
p.push('a')
【问题讨论】:
-
尝试记录propertyKey
标签: javascript ecmascript-6 es6-proxy