今回は「繰り返し(ループ処理)」をテーマに、変数の状態を逐次追跡するステップ実行解説を紹介します。
初心者が「ループごとに変数がどう変化するか」を理解できるように丁寧に解説します。
練習問題:繰り返し(forループで合計計算)
let numbers = [3, 5, 7, 2, 8];
let sum = 0;
// 配列の合計値を計算
for (let i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
console.log(sum);
JavaScript出力
25
ステップ実行(逐次追跡)
| i | numbers[i] | sum (前) | sum (後) | 実行内容 |
|---|---|---|---|---|
| 0 | 3 | 0 | 0 + 3 = 3 | sum に 3 を加算 |
| 1 | 5 | 3 | 3 + 5 = 8 | sum に 5 を加算 |
| 2 | 7 | 8 | 8 + 7 = 15 | sum に 7 を加算 |
| 3 | 2 | 15 | 15 + 2 = 17 | sum に 2 を加算 |
| 4 | 8 | 17 | 17 + 8 = 25 | sum に 8 を加算 |
最終状態
sum = 25
解説ポイント
- ループ変数
iが 0 から numbers.length-1 まで変化 numbers[i]の値を順番にsumに加算- 各ステップで
sumの前後状態を追うと、ループの動きを理解しやすい - 配列の長さが変わっても、ループの追跡手法は同じ
応用例:条件付きループ処理(偶数のみ合計)
let numbers = [3, 5, 7, 2, 8];
let sumEven = 0;
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
sumEven += numbers[i];
}
}
console.log(sumEven);
JavaScript出力
10
ステップ実行
| i | numbers[i] | 条件 (numbers[i]%2===0) | sumEven (前) | sumEven (後) | 実行内容 |
|---|---|---|---|---|---|
| 0 | 3 | false | 0 | 0 | 加算なし |
| 1 | 5 | false | 0 | 0 | 加算なし |
| 2 | 7 | false | 0 | 0 | 加算なし |
| 3 | 2 | true | 0 | 0 + 2 = 2 | 偶数なので加算 |
| 4 | 8 | true | 2 | 2 + 8 = 10 | 偶数なので加算 |
最終状態
sumEven = 10
ポイントまとめ
- ループの中で条件分岐を組み合わせると処理の選択ができる
- 変数の前後状態を表に書くと、処理の流れが可視化できる
- 初心者は「どのループで何が加算されるか」を理解するのが重要

