← 解説「Partial と Required」に戻る
サンプルコードで身につける: Partial と Required
解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。
1Partial で全部を省略可能に
Partial<UserProfile> が「すべてのプロパティに ? が付いた型」になることを、変数への代入で素朴に確かめる例です。一部だけのオブジェクトも空のオブジェクトも受け付けるようになります。
TypeScript
2フォーム更新に使う Partial
「変更したい項目だけ渡す」更新関数という、Partial の最も代表的な実務パターンです。スプレッド構文で元のデータに変更分を上書きし、渡さなかった項目はそのまま残ることを確かめます。
TypeScript
3Required でデフォルト値を埋める
呼び出し側は省略できる緩い型で受け取り、内部では Required で「全項目が必ずある」状態に変換して返す例です。設定オブジェクトのデフォルト値補完という、Required が最も活躍する場面です。
TypeScript
4検索条件を Partial で表す
「指定された条件だけで絞り込む」検索処理に Partial を使う例です。省略可能なプロパティは undefined の可能性があるため、条件が指定されているかを確認してから比較する、という絞り込みとの合わせ技になっています。
TypeScript
5入力途中は Partial、確定時に検査
複数ステップのフォームのように少しずつ値が埋まるデータを Partial で持ち、最後に全項目を検査して完全な型へ変換する実務パターンです。「未完成かもしれない状態」と「完成した状態」を型で区別できるのが要点です。
TypeScript