在箭头函数中访问被调用者

时间:2017-06-21 12:42:16

标签: javascript arrow-functions

我已经知道arrow functions do not have an arguments variable bound to them.这很好,因为我可以简单地使用...运算符并将参数列表扩展为数组。

但是arguments有一个特殊属性arguments.callee(对当前正在执行的函数的引用),这对于递归或解除绑定的侦听器非常有用。如何从箭头函数访问该值?有可能吗?

1 个答案:

答案 0 :(得分:4)

  

如何从箭头功能访问该值?有可能吗?

简短回答是

事实上,箭头功能不会绑定自己的thisargumentssuper ...,它们的目的是提供更短的语法和更少的细节,如果我们检查MDN Reference for Arrow functions我们可以看到:

  

箭头函数表达式的语法比函数表达式短,并且不绑定它自己的this,arguments,super或new.target。这些函数表达式最适合非方法函数,不能用作构造函数。

因此,您无法使用Arrow函数获取对函数本身的引用,并且如注释中所述 arguments.callee" feature"是一个非常糟糕的主意