Dev Study
TypeScript コース

49. マップ型 — キーごとに型を作り変える

マップ型は { [K in keyof T]: ... } という形で、既存の型のキーを1つずつたどりながら新しい型を組み立てる仕組みです。配列の map と同じ発想で、「各キー K に対して値の型をこうする」というルールを書きます。

たとえば { [K in keyof T]: boolean } は「T と同じキーを持ち、値はすべて boolean」という型になります。K の後ろに ? を付ければ全プロパティが省略可能になります。これは、すべてのプロパティを省略可能にする組み込みの Partial<T> の定義そのものです(Partial 自体は次のレッスンで詳しく学びます)。

実務では「フォームの各項目が編集済みかどうかのフラグ」のように、元の型と足並みをそろえた別の型を作る場面で使います。元の型にプロパティを足すとマップ型側も自動で追従するのが、手書きで似た型を作るのとの決定的な違いです。

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

TypeScript
サンプルコードで身につける(5本) →

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

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