目次
条件を満たしている間、特定の処理を実行するためのwhile文について見ていきます。
- while
- do … while
while
構文



・指定した条件が満たされている間、特定の処理を繰り返すための処理をするのがwhile文です。ある数を一定数マイナスし続けたりプラスし続けたりする時に使います。
・例えばゲームなどで HPが100あるキャラクターがいて、体力がある間12ずつダメージを与えるといった処理を書いて行きます。
・まずletでマックスの体力である100を指定しますlet hp = 100;とすればいいでしょう。
・次にwhile文ですが構文はwhile (条件式) {処理}なので条件式で0になるまでの間としたいのでwhile (hp > 0) {}でいいでしょう。
・HP 100のように表示させたいのでテンプレートリテラルを使ってconsole.log(` HP ${hp}`);で表示させる文字を指定します。最後に12づつHPを減らし毎回表示させたいのでhp -= 12;で処理内容を指定します。
・hp -= 12;がないと無限ループに入ってしまってPCやブラウザの再起動をしなくてはいけなくなる場合もあるので注意してください。
do … while
構文



・すでに0より小さい数字からのスタートの場合、最初からfolseなので何も表示されません。しかし、こうした場合でも表示させたい場合は多々あると思います。その時使う構文がdo … whileです。
・構文としてはdo {処理} while (条件式)で、最初にdoで処理を書き、while と条件式を後ろに持ってきてあげれば OK です。こうすることで条件式の評価は処理のあとに行われるので、必ず一度は hp が表示されるはずです。
