function test(n){
console.log('Hello');
if (n != 0) {
test(n - 1);
}
console.log('Bye');
}
test(2);
このコードでどうして、
Hello
Hello
Hello
Bye
Bye
Bye
とByeが3回続くのでしょうか。
console.log('Bye')を1度実行してtest関数は終了かと思ったのですが、Byeが3回続く理由がわかりません。
https://jsflow.info/?hl=ja
などのJS実行ビジュアル化ツールを使うといいかもしれません。