【发布时间】:2016-06-23 10:37:54
【问题描述】:
使用 JavaScript ES6 代理时,在直接分配数组索引时不会触发 array.length 的 set 属性陷阱。
例如:
const proxy = new Proxy([], {
set: function(obj, name, value) {
console.log(`set: ${name}`);
obj[name] = value;
return true;
}
});
proxy.push(0);
proxy[1] = 1;
Chrome 51 和 Firefox 47 输出:
设置:0 设置:长度 设置:1
虽然我期望:
设置:0 设置:长度 套装:1 设置:长度
这是符合规范的吗?我找不到这方面的任何信息。
【问题讨论】:
标签: javascript ecmascript-6 es6-proxy