条件分岐と繰り返しの記述

条件式

条件式とループは条件式を利用する事が殆ど。まずはパターンを整理しよう。 例として test と言う変数があって、それを比較して判断するという事を考えてみよう。

test == 20

こうすると、 test20 が同じかを比較する。 つまり、二つの値の間に記号を書いて行くってことになるんだけど、これは演算子と呼ばれている。その種類を書いておくね。

==  // 等しいかどうか、ザックリ比べる
<   // 左の方が小さいかを比べる
>   // 右の方が小さいかを比べる
<=  // 左が右以下かを比べる
>=  // 右が左以下かを比べる
=== // 型も含めて同じかどうか比べる
!=  // 違うかどうか、ザックリ比べる
!== // 型も含めて違うかどうか比べる

文字の 20 と数値の 20 が別かどうかっていうのを判断するのに、型を比較するような表現があるんだね。 このあたりはよく使うから憶えておくと良さそう。

条件分岐

書き方の基本はシンプル。後は拡張していこう。

条件が一つの場合

条件が一つでそれ以外は何もしないと言う場合はシンプル。

if ( 条件式 ) {
    // 処理の内容
}

これで、条件式が成立するときに処理が実行される。とてもシンプルだね。

確認しておくべきは、if 文は「条件式の結果」が true かどうかで判断しているという点。前にもちょっと出てきたよね。 つまり、条件式は必ずしも条件を判断する式でなければならないというわけではないということ。 truefalse が返ってくる関数を使ったりすることも出来るって事だね。複雑になると使う事もあるから憶えておこう。

ちなみに命令が一行だと省略して書ける。

if ( 条件式 )
    // 一行の処理を書く

条件が 1 つでその他がある場合

付け足してあげればオッケー。

if ( 条件式 ) {
    // 成立したときの処理の内容
} else {
    // 成立しなかった処理の内容
}

条件に当てはまらなかったら、全部 else の処理に流れてしまうという作り。

条件が複数の場合

更に付け足してあげればオッケー。

if ( 条件式1 ) {
    // 条件式1が成立したときの処理の内容
} else if ( 条件式2 ) {
    // 条件式1が成立せず、条件式2が成立したときの処理の内容
} else {
    // 成立しなかった処理の内容
}

ポイントは、どれか一つだけが実行されるという事。そのとき条件は上から一つずつ判断される。 なので、2 つ目の条件判断をするときには、自ずと 1 つ目が成立していないというのが条件になるってこと。 3 つ目以降の条件も同じやり方で追加出来るので簡単。

繰り返し

繰り返しの書き方はたくさんあるけど応用が効きやすい while 文を確認しておこう。

書き方は至ってシンプル。

while ( 条件式 ) {
    // 繰り返す処理
}

わかりやすいね。 滅多にないけど、一行の処理なら括弧を省略できるのは if 文と同じ。

このとき注意が必要なのは、繰り返す処理の中に 条件式の結果が変わる可能性のある処理を含める ということ。 条件式の結果が変わらないという事は、延々と繰り返すという事。無限ループになってしまうこともある訳で、避けなければならない。 なので、外部要因で繰り返しをするわけでなければ、必ずその処理が必要と言うことになる。

ダメな例は

let test = 1;

while ( test < 10 ) {
    console.log( test );
}

良い例は、

let test = 1;

while ( test < 10 ) {
    console.log( test );
    test++;
}

こんな感じ。 test の値が変わらないと、延々とループするか 1 回も処理しないで終わってしまうかのどちらかだけど、ちゃんと 1 を足してあげる事で状況が変わって繰り返しが終わるって事。 忘れたら、ダメ、ゼッタイ。

Last updated