该文档是否意味着未来的javascript代理实现不会有Proxy.createFunction
,我将无法创建可以作为函数调用的代理?
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object
Reflect对象是一个普通的对象。
Reflect对象的[[Prototype]]内部插槽的值是标准的内置Object原型对象(19.1.3)。
Reflect对象不是函数对象。它没有[[Construct]]内部方法;不能将Reflect对象用作new运算符的构造函数。 Reflect对象也没有[[Call]]内部方法;无法将Reflect对象作为函数调用。
答案 0 :(得分:3)
您引用了有关Reflect
对象的部分规范,这对代理没什么意义。
您关联的网页中描述的ES6仍有Proxies。 These objects可以是[[call]]
able(甚至[[construct]]
able)。你是对的,没有Proxy.createFunction
,所有代理似乎都是通过new Proxy
统一创建的。您需要将可调用对象(即函数)作为creating可调用代理对象的ProxyHandler
传递。