JavaScript

JavaScript loop statements are mechanisms for repeatedly executing the same process until a specific condition is met.

ループ文とは

 ループ文は、特定の条件が満たされるまで、または指定された回数だけ同じコードブロックを繰り返し実行するための制御構造です。これにより、コードの冗長性を減らし、効率的なプログラムを作成することができます。

 JavaScriptで使用される主なループ文は以下の通りです。

for ループ

 for ループは、繰り返し回数が明確な場合に使用されます。

JavaScript

for (初期化; 条件; 増減) {
	// 繰り返し実行するコード
}
初期化
ループが開始される前に一度だけ実行される部分。通常、カウンタ変数の初期化に使用します。
条件
各ループの反復前に評価され、true の場合にループが続行されます。
増減
各反復の後に実行される部分。通常、カウンタ変数の増減に使用します。

例:1 から 5 までの数値を出力する

JavaScript

for (let i = 1; i <= 5; i++) {
	console.log(i);
}

while ループ

 while ループは、条件が true である間、コードブロックを繰り返し実行します。

JavaScript

while (条件) {
	// 繰り返し実行するコード
}

例:5 未満の数値を出力する

JavaScript

let i = 0;
while (i < 5) {
	console.log(i);
	i++;
}

do...while ループ

 do...while ループは、コードブロックを少なくとも一度は実行し、その後条件が true である間、繰り返し実行します。

JavaScript

do {
	// 実行するコード
} while (条件);

例:ユーザーが正しい値を入力するまで繰り返す

JavaScript

let input;
do {
	input = prompt("数字の5を入力してください:");
} while (input != 5);

for...in ループ

 for...in ループは、オブジェクトの列挙可能なプロパティ(キー)を反復処理するために使用されます。

JavaScript

for (let プロパティ in オブジェクト) {
	// プロパティに対する操作
}

例:オブジェクトのすべてのプロパティとその値を出力する

JavaScript

const person = { name: "太郎", age: 30, city: "東京" };

for (let key in person) {
	console.log(`${key}: ${person[key]}`);
}

for...of ループ

 for...of ループは、反復可能なオブジェクト(配列、文字列、Map、Setなど)の各要素を反復処理するために使用されます。

JavaScript

for (let 値 of 反復可能オブジェクト) {
	// 値に対する操作
}

例:配列内のすべての値を出力する

JavaScript

const numbers = [1, 2, 3, 4, 5];

for (let num of numbers) {
	console.log(num);
}

ループ制御文

break

 break 文は、現在のループを即座に終了します。

例:数値が3になったらループを終了する

JavaScript

for (let i = 0; i < 5; i++) {
	if (i === 3) {
		break;
	}
	console.log(i);
}
// 出力: 0, 1, 2

continue

 continue 文は、現在の反復をスキップし、次の反復に進みます。

例:偶数のみを出力する

JavaScript

for (let i = 0; i < 5; i++) {
	if (i % 2 !== 0) {
		continue;
	}
	console.log(i);
}
// 出力: 0, 2, 4

ネストされたループ

 ループはネスト(入れ子)にすることができます。これは、多次元配列や複雑なデータ構造を処理する際に有用です。

例:九九表を表示する

JavaScript

for (let i = 1; i <= 9; i++) {
	for (let j = 1; j <= 9; j++) {
		console.log(`${i} x ${j} = ${i * j}`);
	}
}