いつもお世話になっております。
ふと、階乗の計算をサクッとやりたいなと思って書いてみました。
js
1// 再帰 2const factorial = (n) => { 3 if(n === 1) {return 1} 4 return n * factorial(n - 1) 5} 6 7factorial(10) => 3628800
しかし、結局自分を呼び出しているので、その辺をいい感じに省略できないかなぁと思いました。
イメージとしては以下の感じです。
js
1((n) => { 2 if(n === 1) return 1; 3 return n * self(n - 1) //selfの部分がなんとかならないか...! 4})(10)
もしご存じの方がいたらご教示お願いいたします。
また、出来ない場合は詳しく調べてみたいので、用語?でこういう呼び出しが出来ないことをなんというかご教授いただけると幸いです。。。
javascript caller callee周りが多分それ
回答3件
あなたの回答
tips
プレビュー