Dev Study
TypeScript コース

31. Record — キーと値の型を決める

Record<K, V> は「キーが K 型、値が V 型のオブジェクト」を表すユーティリティ型です。Record<string, number> はインデックスシグネチャの { [key: string]: number } と同じ意味を、より短く書けます。

Record が真価を発揮するのは、K にリテラル型のユニオンを渡したときです。Record<"easy" | "normal" | "hard", number> とすると、3つのキーをすべて定義しないとエラーになり、「全候補ぶんの値を漏れなく用意する」ことを型が保証してくれます。

実務では、難易度ごとの設定値やステータスごとの表示ラベルなど、「候補の数だけ対応表を作る」場面の定番です。候補が増えたとき、対応表の追加漏れをコンパイラが教えてくれます。

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

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