JavaScript入門 練習問題 57:構文:ループ処理のスキップ
次のコードを実行したときのコンソールへの出力として正しいものはどれですか?
```javascript
let sum = 0;
for (let i = 1; i <= 3; i++) {
if (i === 2) continue;
sum += i;
}
console.log(sum);
```
- コンソールには 1 が出力される
- コンソールには 2 が出力される
- コンソールには 3 が出力される
- コンソールには 4 が出力される
- コンソールには 6 が出力される
正解と解説を見る
正解:コンソールには 4 が出力される
次のコードを実行すると、`i`が2のときの加算処理がスキップされるため、コンソールには「4」が出力されます。
【正解の理由】
`continue`文は、ループの現在の反復処理を中断し、次の反復処理へとスキップする命令です。ループの1回目(`i === 1`)では `sum += 1` が実行され、2回目(`i === 2`)では `continue` によって加算がスキップされます。3回目(`i === 3`)では `sum += 3` が実行されるため、合計値は `1 + 3` で「4」となります。
【不正解の理由】
• 「コンソールには 1 が出力される」という結果は、ループが1回目で終了(break文の挙動)した場合のものであり誤り
• 「コンソールには 2 が出力される」という結果は、計算過程に合致しないため誤り
• 「コンソールには 3 が出力される」という結果は、計算過程に合致しないため誤り
• 「コンソールには 6 が出力される」という結果は、スキップされずにすべての数値が足された場合(1+2+3)のものであり誤り