JavaScriptでWhileおよびDo …​ Whileループを使用する

前書き

オートメーションは、システムを自動的に動作させる技術です。プログラミングでは、* loops *を使用して反復的なタスクを自動化します。 ループはプログラミング言語の最も便利な機能の1つです。この記事では、JavaScriptの `+ while `および ` do …​ while +`ループについて学習します。

JavaScriptの + while +`および `+ do …​ while +`ステートメントはhttps://www.digitalocean.com/community/tutorials/how-to-write-conditional-statements-in-javascript[conditional statement ]、指定された条件の結果がhttps://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript#booleans [+ true `]になった場合に実行されるコードブロックです。 一度だけ評価される ` if `ステートメントとは異なり、条件が ` true +`に評価されなくなるまでループが複数回実行されます。

発生するループのもう1つの一般的なタイプは、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for [+ for + statement]で、これは設定された回数実行されます。 `+ while `および ` do …​ while +`ループは条件に基づいているため、ループが何回実行されるかを事前に知る必要はありません。

Whileループ

JavaScriptでは、 `+ while `ステートメントは、指定された条件が ` true +`に評価される限り実行されるループです。

以下に示すように、構文は `+ if +`ステートメントに非常に似ています。

while (condition) {
   // execute code as long as condition is true
}

`+ while +`ステートメントは、JavaScriptで構築する最も基本的なループです。

例として、人口制限のある水族館があるとします。 ループの反復ごとに、1匹の魚を追加します。 水族館に「10」の魚がいると、個体数の限界に達し、プログラムは魚の追加を中止します。

aquarium.js

// Set population limit of aquarium to 10
const popLimit = 10;

// Start off with 0 fish
let fish = 0;

// Initiate while loop to run until fish reaches population limit
while (fish < popLimit) {
   // add one fish for each iteration
   fish++;
   console.log("There's room for " + (popLimit - fish) + " more fish.");
}

上記のプログラムを実行すると、次の出力を受け取ります。これは、条件が「+ true 」として評価されなくなるまで、「 while +」ループによるプログラムの繰り返しを示しています。

OutputThere's room for 9 more fish.
There's room for 8 more fish.
There's room for 7 more fish.
There's room for 6 more fish.
There's room for 5 more fish.
There's room for 4 more fish.
There's room for 3 more fish.
There's room for 2 more fish.
There's room for 1 more fish.
There's room for 0 more fish.

この例では、魚の数が水槽の個体数制限より少ない限り、「+ while 」ループを実行するように設定します。 反復ごとに、すべての「+10」スポットがいっぱいになるまで、1匹の魚が水槽に追加されます。 その時点で、ループの実行が停止します。

無限ループ

名前が示すように、*無限ループ*は永久に実行し続けるループです。 誤って無限ループを作成すると、ブラウザーまたはコンピューターがクラッシュする可能性があります。 無限ループに注意して、それらを回避することが重要です。

一般的な無限ループは、 `+ while `ステートメントの条件が ` true +`に設定されている場合に発生します。 以下は、永久に実行されるコードの例です。 無限ループをテストする必要はありません。

infiniteLoop.js

// Initiate an infinite loop
while (true) {
   // execute code forever
}

無限ループは永久に実行されますが、プログラムは `+ break +`キーワードで終了できます。

以下の例では、 `+ if `ステートメントを ` while `ループに追加し、その条件が満たされたら、ループを ` break +`で終了します。

polarBears.js

// Set a condition to true
const iceCapsAreMelting = true;
let polarBears = 5;

// Initiate infinite loop
while (iceCapsAreMelting) {
 console.log(`There are ${polarBears} polar bears.`);
 polarBears--;
 // Terminate infinite loop when following condition is true
 if (polarBears === 0) {
   console.log("There are no polar bears left.");
   break;
 }
}

上記のコードを実行すると、出力は次のようになります。

OutputThere are 5 polar bears.
There are 4 polar bears.
There are 3 polar bears.
There are 2 polar bears.
There are 1 polar bears.
There are no polar bears left.

これは必ずしもループを作成して終了する実用的な方法ではありませんが、「+ break +」は知っておくと便利なキーワードです。

Do…While Loop

指定された条件が真である限りコードのブロックを実行する `+ while `ループについては既に学びました。 その上に構築されるのは、「 do …​ while 」ステートメントです。これは、「 while …​」に非常に似ていますが、主な違いは、条件がたとえ決して真実ではない。

以下に、 `+ do …​ while`ループの構文を示します。

do {
   // execute code
} while (condition);

ご覧のとおり、ループの「+ do 」部分が最初に来て、その後に「 while(condition)」が続きます。 コードブロックが実行され、通常の ` while +`ループの状態がそのままテストされます。

これをテストするには、変数を「0」に設定し、「+ do 」ステートメント内で変数をインクリメントし、条件を「 false +」に設定します。

falseCondition.js

// Set variable to 0
let x = 0;

do {
   // Increment variable by 1
   x++;
   console.log(x);
} while (false);
Output1

出力は「1」になりました。つまり、コードブロックは、「+ while 」条件の失敗によって停止される前に、(「 0+」から)ループを1回繰り返しました。

ループが少なくとも1回反復されることに留意しながら、「+ do …​ while」ループは「+ while」ループと同じ目的で使用できます。

結論

このチュートリアルでは、JavaScriptの `+ while `ループ、 ` do …​ while +`ループ、および無限ループについて学びました。

反復タスクの自動化はプログラミングの非常に重要な部分であり、これらのループはプログラムをより効率的かつ簡潔にするのに役立ちます。

詳細については、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while [+ while +]およびhttps://developer.mozilla.org/enをご覧ください。 -US / docs / Web / JavaScript / Reference / Statements / do …​ while [+ do …​ while +]は、Mozilla Developer Networkでループします。