Dev Study
TypeScript コース

29. Partial と Required

Partial<T> は、型 T のすべてのプロパティを省略可能(? 付き)に変換するユーティリティ型です。逆に Required<T> は、すべてのプロパティを必須に変換します。

Partial の定番は「更新処理」です。記事の更新で title だけ、content だけを渡したいとき、引数を Partial<Article> にしておけば「変更したい項目だけ渡す」関数が自然に書けます。

元の型を書き換えるのではなく、既存の型から新しい型をその場で作るのがユーティリティ型の考え方です。元の Article はそのまま、必要な場面でだけ緩い型・厳しい型を派生させます。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
公式ドキュメントで詳しく ↗