JavaScriptでの再帰処理
プログラミングには、
再帰という概念があります - これは関数が
自分自身を呼び出すことです。例を見てみましょう。
再帰を使って1から10までの数値を
出力してみます:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // ここで関数が自分自身を呼び出しています
}
}
func();
このコードがどのように動作するか、議論してみましょう。
グローバル変数iと、
その内部でコンソールに変数iの内容を
出力した後、++を行う関数func
があります。
もし変数iが10以下ならば、
関数は再び呼び出されます。
変数iはグローバルなので、
関数が新たに呼び出されるたびに、
前回の呼び出しで設定された変数iの値が
保持されます。
その結果、iが10を超えるまで、
関数は自分自身を呼び出し続けることになります。
このケースでは、ifなしで関数を
実行することはできないことに注意してください -
もしそうしてしまうと、関数の無限呼び出しが
発生してしまいます。