マップ型とテンプレートリテラル型
なぜ学ぶか: ライブラリの型定義を開くと{ [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が生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。