条件分岐

条件によって処理を変えたいときには、条件分岐を使用する。

条件式の値がtrueかfalseで処理を変えることができる。

- if, else if, else
- switch, case, default

if(条件式) { ... } else { ... }

まずは構文から。

if(条件式) {
    trueだった場合の処理;
} else {
    falseだった場合の処理;
}

条件式の値はtrueだった場合は最初の処理が実行されて、falseだった場合にはelseの後の処理が実行される。

使用例

let age = 20;

if(30 <= age) {
   console.log("30歳以上です");
} else {
   console.log("30歳以下です");
}

上記の例ではageは20と定義されているので(30 <= 20)という式となり、間違っている(false)のでelse以降の処理が実行される。

if(条件式①) { ... } else if(条件式②) { ... } else { ... }

条件式が複数ある場合にはelse ifを使用して追加することができる。

if(条件式①) {
    trueだった場合の処理;
} else if(条件式②) {
    trueだった場合の処理;
} else {
    falseだった場合の処理;
}

プログラムは上から順番に実行していくので最初に条件式①を確認してtrueであればその直後の処理を、falseであれば次に条件式②を確認してtrueであればその直後の処理を、どの式もfalseだった場合には最後のelse以降の処理が実行される。

なお、else ifによる条件式はいくつでも追加可能。

使用例

let age = 22;

if(age <= 20) {
    console.log("歳は20歳以下です");
} else if (21 <= age <= 30) {
    console.log("歳は21歳から30歳の間です");
} else {
    console.log("歳は31歳以上です");
}

上記の例ではageは22となっており、条件式②に合致するため『歳は21歳から30歳の間です』と出力される。

条件式 ? trueの処理 : falseの処理

if elseの処理は短く書くこともできる。

条件式 ? trueの処理 : falseの処理;

コードが読みにくくなる欠点があるのであまり使わなくても良い。

使用例

let age = 20;

30 <= age ? console.log('30歳以上です') : console.log('30歳以下です');

// 下記と同義

if(30 <= age) {
   console.log('30歳以上です');
} else {
   console.log('30歳以下です');
}

switch(値) case: 処理; default: 処理;

条件式の複数が===(等しい)の式になる場合、switchを使用して簡潔にコードを書くことができる。

まずは構文から。

switch(比較する値) {
    case A:
        処理;
        break;
    case B:
        処理;
        break;
    ...:
    default:
        処理;
        break;
}

◯◯の場合、△△の場合と分けて処理を行う。どの場合にも当てはまらない処理にはdefaultの処理が実行される。

各caseの最後には必ずbreakを入れないと次のcaseの処理も実行してしまうので注意。

使用例

例えば下記の式。

let color = 'red';

if(color === 'red') {
   console.log('赤です');
} else if(color === 'yellow') {
   console.log('黃です');
} else if(color === 'blue') {
   console.log('黃です'); 
} ... {
    ...;
}

赤の場合、黄の場合、青の場合・・・と考えることもできる。そこで下記のように書き換える。

let color = 'red';

switch(color) {
    case 'red':
        console.log('赤です');
        break;
    case 'yellow':
        console.log('黃です');
        break;
    case 'blue':
        console.log('青です');
        break;
    default:
        console.log('どれでもありません');
        break;
}

colorが赤、黃、青であれがそれぞれの処理が実行されて、そのどれでもない場合は最後のdefaultの処理が実行される。

defaultはif文のelseのような立ち位置だと思って良い。


※このnoteはProgate・ドットインストール・Udemyなどの教材から学習した内容をまとめており、初心者から中級者になるレベルを目指しています。ご指摘点あればコメントにてお願いします。
+--------------------------------------------------------------------------+
しょうみゆ@WEBエンジニア
twitter@MykiiTech
インフラエンジニアとWEBマーケティングで仕事した人。日本×フィリピンのハーフ。ごはんと仕事とおしゃべりが大好き。ワンストップでサービス提供できるフルスタックエンジニアになるべく、まずはフロントエンドエンジニアから攻め中。HTML/CSSは得意。
+--------------------------------------------------------------------------+

この記事が気に入ったらサポートをしてみませんか?