タイトル: 条件文
条件文はあるいは条件式がtrue(真)かfalse(偽)によって処理を分岐させるための構文
if文、else if文、else文、switch文などがある。
子ページから選択して下さい。
本ページの子ページ一覧
JavaScriptの条件文の基本
if / else
|
if (age >= 20) { |
switch
|
switch (status) { |
三項演算子
短い分岐は三項演算子で書けます。
|
const label = age >= 20 ? '成人' : '未成年'; |
真偽値として扱われる値(Truthy / Falsy)
JavaScriptの条件式は値を真偽値に変換して評価します。falsyな値は次の通り。
| falsyな値 | 備考 |
|---|---|
false | 真偽値そのもの |
0 | 数値の0 |
-0 / 0n | マイナス0、BigIntの0 |
"" | 空文字列 |
null | null |
undefined | 未定義 |
NaN | Not a Number |
上記以外(オブジェクト、空配列[]、空オブジェクト{}を含む)はすべてtruthyです。
if vs switch の使い分け
| 場面 | 向いている構文 |
|---|---|
| 真偽値や範囲の判定 | if |
| 3つ以上の等価比較 | switch |
| 2分岐の単純な値返し | 三項演算子 |
| オブジェクトのプロパティで分岐 | Map/オブジェクトを使った lookup table |
注意点
switchのcase文にbreakを忘れると次のcaseまで実行される(フォールスルー)switchは厳密比較(===)で評価される- 条件式の中で代入すると意図しない動作になる:
if (x = 5)は常にtruthy NaNはどんな比較でもfalse。Number.isNaN()でチェック