这是我的测试代码(使用node --harmony-proxies foo.js
:
var a = Proxy.create({
get : function (proxy, prop)
{
return 5
}
})
console.log(a['foo'])
console.log(a.length)
console.log(a['10'])
console.log(a[10])
为什么最后两行无法打印 5,为什么代理无法拦截看起来像整数的属性?它是一个实现错误还是它是如何指定的?是否有单独的方法来拦截数组索引,以便我可以实现自己的数组(例如稀疏数组)?