Dev Study
← 解説「Pick と Omit」に戻る

サンプルコードで身につける: Pick と Omit

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

1Pick で2つだけ選ぶ

元の型から必要なプロパティだけを選んで新しい型を作る、Pick の最も基本の形です。選ばなかったプロパティを持たせようとするとエラーになることも合わせて確かめます。

TypeScript

2Omit で見せたくない項目を除く

パスワードのような外部に出してはいけない項目を Omit で取り除いた「公開用の型」を作る例です。変換関数の戻り値をこの型にしておけば、うっかり password を含めて返す実装がコンパイルの時点で防げます。

TypeScript

3一覧画面用の要約型を Pick で作る

詳細データの全項目は一覧画面には不要なので、必要な列だけの要約型を Pick で派生させ、map で変換する例です。「元になる型は1つ、画面ごとの型は派生で作る」という実務の型設計の縮図です。

TypeScript

4新規作成の入力型を Omit で作る

ID はサーバー側で採番するため、新規作成の入力には含めない——という定番の場面を Omit で表します。入力型と完成形の Task が同じ元から派生しているので、項目を追加しても両者がずれません。

TypeScript

5Partial と Omit を組み合わせる

「ID は変更不可、それ以外は任意で渡す」という更新 API の入力型を、Partial<Omit<Member, "memberId">> の重ねがけで表現します。ユーティリティ型は入れ子にできるので、実務の細かい要件も既存の型の組み合わせで書けます。

TypeScript