我已经知道arrow functions do not have an arguments variable bound to them.这很好,因为我可以简单地使用...
运算符并将参数列表扩展为数组。
但是arguments
有一个特殊属性arguments.callee
(对当前正在执行的函数的引用),这对于递归或解除绑定的侦听器非常有用。如何从箭头函数访问该值?有可能吗?
答案 0 :(得分:4)
如何从箭头功能访问该值?有可能吗?
简短回答是否。
事实上,箭头功能不会绑定自己的this
,arguments
,super
...,它们的目的是提供更短的语法和更少的细节,如果我们检查MDN Reference for Arrow functions我们可以看到:
箭头函数表达式的语法比函数表达式短,并且不绑定它自己的this,arguments,super或new.target。这些函数表达式最适合非方法函数,不能用作构造函数。
因此,您无法使用Arrow函数获取对函数本身的引用,并且如注释中所述 arguments.callee" feature"是一个非常糟糕的主意。