例えばJavaScriptで再帰処理を行う関数を書く時に再帰呼び出しの階層が深すぎてでるエラーはスタックオーバーフローとメモリリークどちらが正しいのでしょうか?
また、二つの違いを簡単に教えてください。
実行環境:node.js v10.5.0
js
1const factrial = n => { 2 if(n === 0) return 1; 3 return n * factrial(n - 1); 4} 5 6factrial(100000); 7/* 8RangeError: Maximum call stack size exceeded 9 at factrial (repl:1:18) 10 at factrial (repl:3:12) 11 at factrial (repl:3:12) 12 at factrial (repl:3:12) 13 at factrial (repl:3:12) 14 at factrial (repl:3:12) 15 at factrial (repl:3:12) 16 at factrial (repl:3:12) 17 at factrial (repl:3:12) 18 at factrial (repl:3:12) 19/*
回答2件
あなたの回答
tips
プレビュー