🙆

[TypeScript] null と undefined どちらを使うべきか

に公開

[TypeScript]null と undefined どちらを使うべきか

結論

undefined を使うべき。
→ undefined と null を使い分けるメリットは大したものではない
→ 「null は使わず undefined に統一しよう」はシンプルなルールで解決できる

前提

  • null
    • 代入すべき値が存在しないため、値がない
    • 自然発生しない
      • プログラマーが意図的に使わない限り発生しない
    • typeof の結果
      • object
  • undefined
    • 値が代入されていないため、値がない
    • typeof の結果
      • undefined

null と undefined のチェック方法について

チェックする際は、「==」 と 「===」 どちらを使うべきか?

結論

「==」を使うべき

なぜ「==」を使うべきなのか

:x: BAD

value === null;
value !== null;
value === undefined;
value !== undefined;

:white_check_mark: GOOD

value == null;
value != null;
  • TypeScript などのコーディングガイドラインで推奨されている
  • 「==」だと、null と undefined を同じとみなしてどちらかの場合に真と評価できる
    • → より簡潔なコードを書ける。

https://typescriptbook.jp/reference/values-types-variables/undefined-vs-null
https://typescript-jp.gitbook.io/deep-dive/recap/null-undefined

Discussion