尾递归优化

很棒的文章: Tail call optimization (TCO) in Node v6

注意这个评论指出 return undefined 的细节。

从 6.10.2 开始到目前的 8.0.0 为止,node 仍未完全支持 (harmony) 尾递归优化 (Tail Call Optimisation)。

参看特性支持

node --harmony_tailcalls --use_strict 开启 TOC。

尾递归小结: http://exploringjs.com/es6/ch_tail-calls.html#_checking-whether-a-function-call-is-in-a-tail-position

其他

尾递归在 Elixir/Erlang 里的实现