この記事は編集レビューを必要としています。ぜひご協力ください。
メッセージ
InternalError: too much recursion
エラータイプ
何がうまくいかなかったのか?
自分自身を呼び出す関数のことを再帰関数と呼びます。いくつかの点で、再帰はループに似ています。両方とも、同じコードを複数回実行し、(無限ループまたは無限再帰を避けるために)状態を必要とします。あまりに多くの、または無限の再帰がある場合、JavaScript は、このエラーをスローします。
例
終了条件に従って、この再帰関数は 10 回実行されます。
function loop(x) { if (x >= 10) // "x >= 10" は終了条件 return; // 何かを実行 loop(x + 1); // 再帰呼び出し } loop(0);
この条件に、非常に大きい値を設定すると、動作しません:
function loop(x) { if (x >= 1000000000000) return; // 何かを実行 loop(x + 1); } loop(0); // InternalError: too much recursion