do…whileループを使った繰り返し処理の基本と応用をわかりやすく解説

スポンサーリンク
スポンサーリンク

do…whileループの概要

繰り返し処理 JavaScript予約語

do…while

概要 do...whileループは、少なくとも1回はループを実行した後で条件を評価する繰り返し処理構文です。

わかりやすく説明 do...whileは「まず処理を1回行い、その後で条件を確認する仕組み」です。

  • 条件がtrueである限り、ループを繰り返します。
  • 条件が最初からfalseであっても、処理が最低1回は実行されます。
  • whileループとの違いは、条件の評価タイミングにあります。

do…whileループの基本的な使い方

以下は、do...whileループの基本的な例です。

// do...whileループの基本例
let count = 0;

do {
    console.log(`現在のカウント: ${count}`);
    count++;
} while (count < 5);

// 出力:
// 現在のカウント: 0
// 現在のカウント: 1
// 現在のカウント: 2
// 現在のカウント: 3
// 現在のカウント: 4
  • doブロック内のコードが実行されます。
  • 実行後にwhileの条件が評価されます。
  • 条件がtrueの場合、ループを継続します。

条件が最初からfalseの場合の挙動

do...whileでは、条件がfalseであっても最初の1回は必ず実行されます。

// 最初の条件がfalseの場合
let count = 10;

do {
    console.log(`現在のカウント: ${count}`);
    count++;
} while (count < 5);

// 出力:
// 現在のカウント: 10
  • 条件がfalseでも、doブロック内のコードは1回実行されます。
  • 条件式の評価は2回目以降の実行に影響します。

応用例: ユーザー入力の検証

以下の例では、do...whileを使ってユーザーが正しい入力を行うまで繰り返します。

// ユーザー入力を検証
let userInput;

do {
    userInput = prompt("1から10の間の数字を入力してください:");
} while (userInput < 1 || userInput > 10);

console.log(`入力された数字: ${userInput}`);
  • ユーザーが条件を満たす入力を行うまで繰り返します。
  • 最初のプロンプトは必ず実行されます。

注意点

  • 無限ループに注意: 条件が常にtrueになると無限ループが発生するため、必ず終了条件を適切に設定してください。
  • 初期化を忘れない: ループ内で使う変数は必ず初期化し、条件式で正しく評価されるようにします。
  • 他のループとの比較: 必ず1回実行したい場合にのみdo...whileを選び、通常の繰り返しにはforwhileを検討してください。

よくある質問

Q: do...whilewhileの違いは何ですか?
A: do...whileは、条件式の評価が後に行われるため、最低でも1回はループ内のコードが実行されます。一方、whileは条件式がfalseの場合、ループが1回も実行されないことがあります。
Q: いつdo...whileを使うべきですか?
A: 必ず1回実行する必要がある処理(例: ユーザー入力の確認や初期化処理)で使用します。
Q: do...whileで無限ループを避けるにはどうすればいいですか?
A: 条件式を適切に設計し、ループ内で変数を更新することで無限ループを防止できます。

まとめ

do...whileは、必ず1回実行したい処理を含む繰り返しに適したループ構文です。

  • 条件がfalseでも1回は実行される点で、whileループと異なります。
  • ユーザー入力や初期化処理などの特定の場面で便利に使えます。
  • 無限ループにならないよう、終了条件を適切に設計してください。