JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのdo...while文とは?基本構文と実行例をわかりやすく解説

JavaScriptにおけるdo...whileループは、通常のwhileループとよく似ていますが、最大の違いは条件式の判定をループの最後で行うという点です。この仕組みにより、条件が最初からfalseであったとしても、ループ内の処理は必ず1回は実行されるという特徴があります。

do...while文の基本構文

JavaScriptでdo...whileループを記述する場合、以下のような構文を使用します。

do {
    実行したい処理(ステートメント);
} while (条件式);

この構文では、まずdoブロック内の処理が実行され、その後にwhileの条件式が評価されます。条件式がtrueであれば再び処理が繰り返され、falseになった時点でループが終了します。

do...while文とwhile文の違い

両者の違いを整理すると、以下のようになります。

  • while文: ループ開始前に条件を判定するため、条件がfalseの場合は一度も実行されないことがある。
  • do...while文: 処理を先に実行してから条件を判定するため、最低でも1回は必ず実行される。

そのため、「少なくとも1回は処理を実行したい」というケースでは、do...while文が適しています。

do...while文の実装例

次のサンプルコードを実行して、JavaScriptでのdo...whileループの動作を確認してみましょう。

<html>
   <body>
      <script>
         var count = 0;
         document.write("ループ開始" + "<br />");
         do{
              document.write("現在のカウント : " + count + "<br/>");
              count++;
           }
           while(count < 5);
           document.write ("ループ終了!");
      </script>
   </body>
</html>

実行結果

このコードを実行すると、ブラウザには以下のように出力されます。

ループ開始
現在のカウント : 0
現在のカウント : 1
現在のカウント : 2
現在のカウント : 3
現在のカウント : 4
ループ終了!

コードの解説

この例では、変数countを0で初期化し、doブロック内でカウント値を表示した後にcount++で1ずつ増やしています。while(count < 5)の条件判定は各回の処理の後に行われるため、countが0から4までの間は繰り返しが続きます。countが5になった時点で条件がfalseとなり、ループを抜けて「ループ終了!」というメッセージが表示されます。

仮に初期値が5以上だった場合でも、doブロック内の処理は1回実行されてから条件判定が行われる点に注意してください。これこそが、do...while文ならではの動作です。

  1. JavaScriptのwhileループとは?基本構文と動作例をわかりやすく解説

    whileループは、指定した条件式がtrue(真)である限り、特定の文やコードブロックを繰り返し実行するための制御構造です。条件式がfalse(偽)に評価された瞬間に、ループは終了し、その後の処理へと進みます。 whileループの基本構文 while (条件式) { // 繰り返し実行したい処理 } whileループは、まず最初に条件式を評価します。条件がtrueであればブロック内の処理を実行し、再び条件式に戻って評価を行います。この流れを図にすると以下のようになります。 サンプルコード 実際に簡単な例を見てみましょう。変数 i をカウンターとして使い、5回「Hello」を出力するプ

  2. JavaScriptのwithステートメントとは?用途と使い方をわかりやすく解説

    JavaScriptのwithステートメントは、特定のプロパティに対してデフォルトのオブジェクトを指定し、冗長になりがちなオブジェクト参照の記述を省略するための構文です。withブロック内で指定したオブジェクトは、スコープチェーンの先頭に追加されるため、そのプロパティ名だけで直接アクセスできるようになります。 基本的な動作 通常、オブジェクトのプロパティにアクセスするには、毎回オブジェクト名を明示する必要があります。しかし、withステートメントを使えば、以下のようにコードを簡潔に書けます。 オブジェクト名の繰り返し記述を省略できる 同じオブジェクトの複数のプロパティへ短くアクセスできる 指