ES6代理不能是功能?
问题描述:
该文件是否意味着未来的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对象是不可能的。
答
您在引用有关Reflect
对象的规范的部分内容,这对代理没有任何意义。
您链接的页面中描述的ES6仍然有Proxies。 These objects可以是[[call]]
able(甚至[[construct]]
able)。你是对的,没有Proxy.createFunction
,所有的代理似乎通过new Proxy
统一创建。您需要传递一个可调用对象(即函数),作为ProxyHandler
的creating可调用代理对象。
您是否将代理与'Reflect'对象混淆? – Bergi 2014-10-10 04:32:27