Dev Study
← 解説「null と undefined — strictNullChecks」に戻る

サンプルコードで身につける: null と undefined — strictNullChecks

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

1「無いかもしれない」を型に書く

「値が無い」状態を null で表す最も基本の形です。string | null とユニオン型で明示しておけば、「いまは無いが後で文字列が入る」変数を型がそのまま表現してくれます。

TypeScript

2null と undefined の違い

null は「無い」と意図的に入れる値、undefined は「まだ何も設定されていない」ことを表す値です。typeof の結果が違うことを確かめながら、2つの「無い」を区別する感覚をつかみましょう。

TypeScript

3見つからないかもしれない検索結果

検索やデータ取得は「見つからない」可能性が必ずあるので、戻り値を number | null のような型にするのが定番です。呼び出し側は null チェックを書かない限り値を使えないため、確認漏れをコンパイラが防いでくれます。

TypeScript

4フォーム入力のnull処理

フォームの入力値は「未入力」が null で届くことがあり、さらに空白だけの入力も実質「無し」として扱いたい場面が多いです。null を受け取り、整形して、だめなら null を返す関数で「無い」の扱いを1か所に集めます。

TypeScript

5APIレスポンスのnullフィールド

API のレスポンスでは「未登録の項目は null で返す」設計が広く使われています。interface のプロパティを string | null と宣言しておけば、null チェックをせずにメソッドを呼ぶコードをコンパイラが止めてくれます。

TypeScript