while文を使った繰り返し処理[JavaScript]

while文を使った繰り返し処理[JavaScript] JavaScript

「この条件を満たす間、処理を繰り返したい」

プログラムを書いていると、そう思うことがしばしばあります。どうしたら実行できるでしょう。

ご安心ください。JavaScriptには、繰り返し処理のための構文である「while文」があります。使い方を解説いたしましょう。

while文の書き方は2通りある

JavaScriptのwhile文には、2通りの書き方があります。1つ1つみていきましょう。

while文

while(条件式) {
  処理;
}

while文はまず条件式を評価し、それが真だったときのみ処理を実行します。

例1
let count = 0;
while(count < 100) {
  console.log(count);
  count++;
}
例2
let count = 0;
while(count > 100) {
  console.log(count);
  count++;
}

例1はcountが100未満である間、処理が実行されます。一方、例2では条件式が100以上となっているので、そもそも処理が実行されません。

do while文

do {
  処理;
} while(条件式);

do while文は、まず処理を実行し、それから条件式を評価します。

例3
let count = 0;
do {
  console.log(count);
  count++;
} while(count < 100);
例4
let count = 0;
do {
  console.log(count);
  count++;
} while(count > 100);

例3は例1と同じ出力結果になります。一方、例4の出力結果は「0」です。これは「console.log(count)」が実行された後に、条件式(count > 100)の評価が行われたためです。

処理を中断する

ある条件に至ったとき処理を中断するには「break」を用います。

例5
let count = 0;
while(count < 100) {
  if(count === 50) {
    break;
  }
  console.log(count);
  count++;
}

例5ではcountが50になったとき、while文を終了します。

処理をスキップする

ある条件のときだけ処理をスキップしたい場合は「continue」を用います。

例6
let count = 0;
while(count < 100) {
  if(count % 3 === 0) {
    continue;
  }
  console.log(count);
  count++;
}

例6ではcountが3の倍数の場合、処理をスキップします。while文を抜けるわけではないので「0124578……98」のように、countが100以上になるまで繰り返し処理を実行します。

無限ループ

while文は条件式が真である間、処理を繰り返します。もしも条件式が決して偽にならない場合、半永久的に処理を繰り返してしまうのです。これを「無限ループ」と呼びます。

例7
let count = 0;
while(count < 100) {
  console.log(count);
}

例7では、countの増減式が記述されていません。つまりcountの値はずっと「0」のまま。ですから条件式(count < 100)は常に真です。このようなとき、無限ループに陥ります。

無限ループはコンピュータに多大な負荷を与え、最悪クラッシュすることもあります。while文を記述する際は注意しましょう。

まとめ

  • 条件式がfalseになるまで処理を繰り返す
  • breakで処理を抜ける
  • continueでスキップ

以上がwhile文の基本的な書き方です。

あなたの毎日がハッピーでありますように。

コメント

  1. […] while文を使った繰り返し処理[JavaScript]「この条件を満たす間、処理を繰り返したい」プログラムを書いていると、そう思うことがしばしばあります。どうしたら実行できるでしょう。ご […]

タイトルとURLをコピーしました