【发布时间】:2012-06-01 11:55:09
【问题描述】:
这是我的测试代码(使用 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,为什么代理无法拦截看起来像整数的属性?它是一个实现错误还是它是如何指定的?是否有单独的方法来拦截数组索引,以便我可以实现自己的数组(例如稀疏数组)?
【问题讨论】:
-
那将是一个错误。那是哪个版本的node,基于哪个版本的V8?
-
它发生在 0.6.15 和 0.6.18,我不知道 v8。
-
您的示例在我安装了 NVM 的 NodeJS v0.8.14 上运行良好。
-
是的,这是代理在 0.6.x 中未正确实现的问题。我投票决定关闭它,因为它可能对未来的访问者没有帮助。
标签: node.js ecmascript-harmony proxy-object