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
条件式が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("当てはまらない");
}
条件式に渡した値が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("当てはまらない");
}