2014-10-10 52 views
1

该文件是否意味着未来的JavaScript代理实现不会有Proxy.createFunction,我将无法创建可作为函数调用的代理?ES6代理不能是功能?

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object

的反应对象是一个单一的普通对象。

Reflect对象的[[Prototype]]内部槽的值是标准的内置对象原型对象(19.1.3)。

反射对象不是函数对象。它没有[[Construct]]内部方法;不可能将Reflect对象用作new运算符的构造函数。反射对象也没有[[Call]]内部方法;作为函数调用Reflect对象是不可能的。

+3

您是否将代理与'Reflect'对象混淆? – Bergi 2014-10-10 04:32:27

回答

3

您在引用有关Reflect对象的规范的部分内容,这对代理没有任何意义。

您链接的页面中描述的ES6仍然有ProxiesThese objects可以是[[call]]able(甚至[[construct]]able)。你是对的,没有Proxy.createFunction,所有的代理似乎通过new Proxy统一创建。您需要传递一个可调用对象(即函数),作为ProxyHandlercreating可调用代理对象。