駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

whileループ

for文とは別で繰り返し処理を行う方法のひとつである while ループについて説明します。

while 条件が true の間、処理実行され続けます。

サンプルを書いてみます。

 let count = 0;
 while (count < 10) {
count++;
console.log(count);
 }

出力結果は1〜10が出力されます。

しかし上記のように使うことはあまりありません。

前回習ったfor文で記述できるからです。

 for (let i = 1; i < 10; i++)

これはほぼ同じ内容と認識して大丈夫です。

 

どのような時に使うかというと、繰り返し回数が決まっていないような処理をしたい時に使用します。

もう一つサンプルで秘密のコードを入力させるみたいなプログラムがあったとします。

 const SECRET = 'supersecret';
 let guess = '';
 while (guess !== SECRET) {
  guess = prompt('秘密のコードを入力してください');
 }
 console.log('正解!!おめでとう!!');

変数に「supersecret」という文字列を定義しておきます。

ユーザーに文字列を入れてもらい、「supersecret」という文字と一致するまで入力を求め続けるものになります。

ユーザー側が入力を何回間違えるか不鮮明なのでwhileを使うことでわかりやすくなると思います。

 

また、ループ内でのbreakの使い方も説明します。

ループの中でbreakを使うと処理を終わらせることができます。

ユーザーから入力をもらいそれを返し続けるサンプルプログラムを書いてみます。

 let input = prompt('なにか入力してください');
 while(true) {
input = prompt(input);
if (input === 'quit') {
break;
}
 }

input = prompt(input); の部分はユーザーからの受け取った値をそのままもう一度定義しています。

そしてユーザーが「quit」と入力したら、ループを抜けるというbreakを記述します。

またif文の中が1行しかない場合は{}を省略できます。

let input = prompt('なにか入力してください');
while(true) {
input = prompt(input);
if (input === 'quit') break;
}

 

簡単ではありますが、whileループの使い方について説明しました。

ぜひサンプルでコードで遊んでみて下さい。