前段时间我在 MDN 上看到一个空白的存根,是关于 javascript 中的 Reflect
对象的,但是我一辈子都找不到任何关于 Google 的信息。今天我发现了这个 http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object,除了领域和加载程序功能之外,它听起来与 Proxy 对象类似。
基本上,我不知道我找到的这个页面是否只解释了如何实现反射,或者我只是不能理解它的措辞。有没有人能给我大致解释一下 Reflect
的方法是做什么的?
例如,在我发现的页面上说,调用 Reflect.apply ( target, thisArgument, argumentsList )
将“返回调用 target 的[[ Call ]]内部方法的结果,其中包含 this 参数和 args。”但这和打电话给 target.apply(thisArgument, argumentsList)
有什么区别呢?
更新:
Thanks to @Blue, I found this page on the wiki
http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&s=reflect
据我所知,它说反射对象提供了所有动作的方法版本,这些动作可以被代理捕获,从而使转发更容易。但我觉得这有点奇怪因为我觉得这没有必要。但它似乎做得更多一点,特别是标准,表示 double-lifting
,但这指向旧的代理规范/