【for文・while文】JavaScriptの繰り返し処理について解説!

iterator-javascript

JavaScriptには、あるコードを繰り返し実行するための機能があります。これを「繰り返し処理」と呼びます。繰り返し処理は、同じような操作を何度も実行する必要がある場合に非常に役立ちます。JavaScriptには、forループ、whileループ、do-whileループ、for-inループ、for-ofループなど、さまざまな種類の繰り返し処理があります。

今回の記事では、JavaScriptで繰り返し処理の書き方を学ぶことができます。

目次

for文による繰り返し処理

JavaScriptにおいて最も基本的な繰り返し処理は、for文を用いたものです。for文は以下のような構文を持ちます。

for (初期化式; 条件式; 増分式) {
  // 繰り返し処理
}
  • 初期化式: ループの最初に一度だけ実行される式。通常は、カウンタ変数の初期化などに使われます。
  • 条件式:繰り返し処理を継続するかどうかを判定する式。trueを返す場合にはループを継続し、falseを返す場合にはループを終了します。
  • 増分式:繰り返し処理の各ステップの最後に実行される式。通常は、カウンタ変数の増分などに使われます。

例えば、1から10までの整数をコンソールに出力する場合は、以下のように書くことができます。

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

while文による繰り返し処理

for文以外にも、while文を使って繰り返し処理を行うことができます。while文は以下のような構文を持ちます。

while (条件式) {
  // 繰り返し処理
}

条件式がtrueを返す限り、繰り返し処理が行われます。例えば、1から10までの整数をコンソールに出力する場合は、以下のように書くことができます。

let i = 1;
while (i <= 10) {
  console.log(i);
  i++;
}

do-while文による繰り返し処理

do-while文は、while文と似たような動作をする繰り返し処理ですが、条件式の判定を繰り返し処理の最後に行う点が異なります。do-while文は以下のような構文を持ちます。

do {
  // 繰り返し処理
} while (条件式);

繰り返し処理が最初に一度実行された後、条件式がtrueを返す限り、繰り返し処理が繰り返し実行されます。例えば、1から10までの整数をコンソールに出力する場合は、以下のように書くことができます。

let i = 1;
do {
  console.log(i);
  i++;
} while (i <= 10);

forEachメソッドによる繰り返し処理

配列を操作する場合には、forEachメソッドを使って繰り返し処理を行うことができます。

forEachメソッドは、配列の各要素に対して、コールバック関数を順番に実行します。コールバック関数は、引数として、要素の値、インデックス、配列全体を受け取ることができます。

以下は、forEachメソッドを使って配列の各要素をコンソールに出力する例です。

const arr = [1, 2, 3, 4, 5];
arr.forEach((value, index, array) => {
  console.log(value);
});

for…in文による繰り返し処理

オブジェクトを操作する場合には、for…in文を使って繰り返し処理を行うことができます。

for…in文は、オブジェクトの各プロパティに対して、ループを順番に実行します。

以下は、for…in文を使ってオブジェクトの各プロパティをコンソールに出力する例です。

const obj = { name: 'supuky', age: 20, address: 'Tokyo' };
for (const key in obj) {
  console.log(key + ': ' + obj[key]);
}

for…of文による繰り返し処理

for…of文は、配列や文字列などのiterableオブジェクトに対して、ループを順番に実行します。

for…of文を使って配列の各要素をコンソールに出力する例を示します。

const arr = [1, 2, 3, 4, 5];
for (const value of arr) {
  console.log(value);
}

以上が、JavaScriptにおける繰り返し処理の基本的な書き方です。様々なループ構文を使い分けることで、効率的に繰り返し処理を行うことができます。

また、配列やオブジェクトを操作する場合には、forEachメソッドやfor…inメソッドを使うことで、より簡潔で可読性の高いコードを書くことができます。しかしながら、処理速度に関しては、forループが最も高速であるとされています。ES6からは、ジェネレーターやIteratorといった概念が導入され、for…of文を使うことで、独自のiterableオブジェクトを作成することも可能になっています。このように、JavaScriptの繰り返し処理には、様々な方法が用意されています。

break文やcontinue文

最後に、繰り返し処理の中で、break文やcontinue文を使うことで、ループを途中で中断したり、スキップしたりすることができます。これらの制御文をうまく活用することで、より柔軟な繰り返し処理を実現することができます。

以下に、forループでのbreak文とcontinue文の例を示します。

// break文の例
for (let i = 1; i <= 10; i++) {
  if (i === 5) {
    break; // iが5になったらループを中断
  }
  console.log(i);
}
// 出力結果:1 2 3 4

// continue文の例
for (let i = 1; i <= 10; i++) {
  if (i % 2 === 0) {
    continue; // iが偶数の場合、ループをスキップ
  }
  console.log(i);
}
// 出力結果:1 3 5 7 9

上記の例では、forループの中でbreak文を使い、iが5になったらループを中断しています。また、continue文を使い、iが偶数の場合はループをスキップしています。

break文やcontinue文は、繰り返し処理を柔軟に制御するための非常に便利な制御文です。ただし、過剰に使いすぎると可読性が悪くなったり、バグの原因になることがあるため、注意して使用するようにしましょう。

以上が、JavaScriptにおける繰り返し処理の基本的な書き方や機能についての紹介でした。適切なループ構文を使い分け、制御文をうまく活用することで、効率的で柔軟なコードを書くことができます。

まとめ

JavaScriptでは、forループやwhileループを使って基本的な繰り返し処理を行うことができます。配列やオブジェクトを操作する場合には、forEachメソッドやfor…inループを使用することもできます。これらの繰り返し処理を使って、配列やオブジェクトの要素にアクセスしたり、条件に基づいて処理を実行したりすることができます。

JavaScriptの繰り返し処理を理解し、応用的な方法を学ぶことで、より効率的にコーディングを行うことができます。しかし、過剰に繰り返し処理を使用するとパフォーマンスに悪影響を与えることがあるため、必要な場合に限って使用することが重要です。

iterator-javascript

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次