JavaScriptのNullishとFalsy

JavaScriptのNullishとFalsy

2023/05/06

2023/05/06

JavaScriptでは、値が存在しないか、無効な状態を示すためにNullishとFalsyというカテゴリが使用されます。バグや予期しない動きを防止するために理解しておきたい概念です。

Nullish

Nullishは、値が存在しないことを示すために使用されます。
JavaScriptでは、主に以下の2つの値がNullishです。

1. null
明示的に値が存在しないことを示す値。
2. undefined
値がまだ割り当てられていない変数や、存在しないオブジェクトのプロパティ、引数が渡されなかった関数パラメータなどに自動的に割り当てられる値。

■例外処理

// xxxがundefinedまたはnullだった場合は"Nullish"を出力
const hoge = xxx ?? "Nullish";
console.log(hoge);

※??は、null合体演算子(Nullish Coalescing Operator)と呼ばれ、左がnullishである場合に右の値を返し、nullishでない場合は、左の値がそのまま返されます。

Falsy

Falsyは、真偽値としてfalseと評価される値です。
JavaScriptでは、以下の値がFalsyです。

1. false
真偽値のfalseそのもの。
2. 0
数値のゼロ。
3. -0
数値のマイナスゼロ。
4. NaN
"Not a Number"を表す特殊な数値。
5. ""
空の文字列。
6. null
値が存在しないことを示す値。
7. undefined
値がまだ割り当てられていないことを示す値。

■例外処理

// xxxがFalsyな値だった場合は"Falsy"を出力
const hoge = xxx || "Falsy";
console.log(hoge);