← inaro.devAI駆動開発 学習ツール
応用

マップ型とテンプレートリテラル型

なぜ学ぶか: ライブラリの型定義を開くと{ [K in keyof T]: ... }のような「型を計算する型」が出てきます。ここは「書ける」必要はまったくなく、「何をしているか雰囲気が分かる」だけでOK。型定義を開いたときの絶望感を消すのが目的です。

まずはこの例を見てみましょう

type User = { name: string; age: number };

// User の各キーに boolean を割り当てた型を「計算」で作る
type Flags = { [K in keyof User]: boolean };
// → { name: boolean; age: boolean } と同じ意味になる

const touched: Flags = { name: true, age: false };

「型を計算する型」。ライブラリの中でよく使われますが、読めれば十分です。

[K in keyof T]=キーを1つずつ巡る

型の世界のループのようなもの。例ではUserの各キー(name・age)にbooleanを割り当てています。

Partialなどの正体もこれ

前にやったユーティリティ型は、内部でこの仕組みを使って作られています。

深追いしなくていい

これは主にライブラリ作者の道具です。見かけたら「型の一括加工をしているな」と分かれば、実務は回ります。

ステップ 1 / 3

※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。