メインコンテンツまでスキップ

Record<Keys, Type>

Record<Keys, Type>はプロパティのキーがKeysであり、プロパティの値がTypeであるオブジェクト型を作るユーティリティ型です。

Record<Keys, Type>の型引数#

Keys#

オブジェクトのプロパティーキーを指定します。Keysに代入できる型は、stringnumbersymbolとそれぞれのリテラル型です。

Type#

オブジェクトのプロパティの値の型を指定します。任意の型が代入できます。

Recordの使用例#

キーがstringで値がnumberのインデックス型を定義する。

typescript
type StringNumber = Record<string, number>;
const value: StringNumber = { a: 1, b: 2, c: 3 };
typescript
type StringNumber = Record<string, number>;
const value: StringNumber = { a: 1, b: 2, c: 3 };

キーがfirstNamemiddleNamefamilyNameで、値が文字列になるオブジェクト型を定義する。

typescript
type Person = Record<"firstName" | "middleName" | "lastName", string>;
const person: Person = {
firstName: "Robert",
middleName: "Cecil",
lastName: "Martin",
};
typescript
type Person = Record<"firstName" | "middleName" | "lastName", string>;
const person: Person = {
firstName: "Robert",
middleName: "Cecil",
lastName: "Martin",
};

関連情報#