【发布时间】:2014-10-03 09:40:17
【问题描述】:
ES6 中的箭头函数没有 arguments 属性,因此 arguments.callee 将不起作用,并且即使只使用匿名函数,也不会在严格模式下工作。
箭头函数不能命名,所以不能使用命名函数表达式技巧。
那么...如何编写递归箭头函数?那是一个箭头函数,它会根据某些条件递归调用自己,当然等等?
【问题讨论】:
-
你可以使用常用函数,可能箭头函数不是递归调用的正确工具。
-
如果使用三元运算符,阶乘函数就是一个语句。单语句匿名函数当然是箭头函数的用例。
-
为什么不将函数分配给一个变量,而该变量又在函数体的范围内?
-
那不会很健壮。如果将函数分配给不同的变量并将原始变量重新分配给新值,则您的代码会中断。这通常可以使用命名函数表达式来解决,但箭头函数不能命名,至少不在它们自己的范围内。
-
如果使用const,那么原来的不能重新赋值。看起来非常健壮,事实上,现在已被广泛使用。
标签: javascript recursion ecmascript-6 arrow-functions