技術のメモ箱

JavaScript/条件分岐

等価性

==は値が等しいことを検査する。型が異なる場合、型変換を実施した上で比較する。
===は値と型が等しいことを検査する。

"1" == 1; // true
0 == false; // true
0 == null; // false
0 == undefined; // false
null == undefined; // true

NOT演算子を2つ使うと、真偽値に変換できる。主にnullとundefinedの扱いを変えたい場合に使う。

0 == !!null; // true
0 == !!undefined; // true

if文

条件式がtruthyの場合、それに続く波括弧内の処理を実行する。
条件式がfalsyな場合にはelseブロック内の処理を実行する。
falsyな値とはfalse、0、-0、0n、""、null、undefined、NaNの8つのことで、truthyはそれ以外の値のこと。

let a = 2;
if (a === 1) {
    console.log("aの値は1");
} else if (a >= 2) {
    console.log("aの値は2以上");
} else {
    console.log("当てはまらない");
}

switch文

条件式に渡した値がcase節の値と型も含めて一致した場合に、それ以降の処理を実行する。
case節に一致するものがない場合はdefault節が実行される。
case節の値には変数の指定も可能。

let a = 2;
switch (a) {
    case 1:
        console.log("aの値は1");
        break;
    case 2:
        console.log("aの値は2以上");
        break;
    default:
        console.log("当てはまらない");
}
pagetop