相关疑难解决方法(0)

Reflect对象在JavaScript中做了什么?

我刚才在MDN上看到了一个空白的存根,用于Reflectjavascript中的对象,但是我无法在Google的生活中找到任何东西.今天我发现了这个http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object,除了领域和加载器功能外,它听起来与Proxy对象类似.

基本上,我不知道我找到的这个页面是否只解释了如何实现Reflect,或者我是否只是无法理解其措辞.有人可以请大家向我解释一下Reflect做什么方法?

例如,在我发现的页面上,调用Reflect.apply ( target, thisArgument, argumentsList ) 将"返回使用参数thisArgument和args调用目标的[[Call]]内部方法的结果." 但是这与调用target.apply(thisArgument, argumentsList)有何不同?

更新:

感谢@Blue,我在维基上找到了这个页面 http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&s=reflect据 我所知,反射对象提供了所有的方法版本代理可以捕获的操作使转发更容易.但这对我来说似乎有点奇怪,因为我看不出它是如何完全必要的.但它似乎做了一点点,特别是那个标准double-lifting但但是指向旧的代理规范/

javascript ecmascript-6

77
推荐指数
2
解决办法
2万
查看次数

为什么我应该调用 Function.prototype.apply.call(x, ...) 而不是 x.apply(...)?

该文档页面Reflect.apply()上MDN网页文档的状态:

在 ES5 中,您通常使用 Function.prototype.apply() 方法来调用具有给定 this 值和作为数组(或类似数组的对象)提供的参数的函数。 Function.prototype.apply.call(Math.floor, undefined, [1.75]);

有了Reflect.apply这个变得更简洁,更容易理解。

我糊涂了。在 ES5 中,我通常使用(保持上面的例子):

Math.floor.call(undefined, [1.75]);

为什么有人应该使用:

Function.prototype.apply.call(Math.floor, undefined, [1.75]);


PS:我的问题不是关于 Reflect.apply(myFunction, myObject, args);

javascript apply

2
推荐指数
1
解决办法
769
查看次数

标签 统计

javascript ×2

apply ×1

ecmascript-6 ×1