Record<Keys, Type>
Record<Keys, Type>はプロパティのキーがKeysであり、プロパティの値がTypeであるオブジェクト型を作るユーティリティ型です。
Record<Keys, Type>の型引数#
Keys#
オブジェクトのプロパティーキーを指定します。Keysに代入できる型は、string、number、symbolとそれぞれのリテラル型です。
Type#
オブジェクトのプロパティの値の型を指定します。任意の型が代入できます。
Recordの使用例#
キーがstringで値がnumberのインデックス型を定義する。
typescripttype StringNumber = Record<string, number>;const value: StringNumber = { a: 1, b: 2, c: 3 };
typescripttype StringNumber = Record<string, number>;const value: StringNumber = { a: 1, b: 2, c: 3 };
キーがfirstName、middleName、familyNameで、値が文字列になるオブジェクト型を定義する。
typescripttype Person = Record<"firstName" | "middleName" | "lastName", string>;const person: Person = {firstName: "Robert",middleName: "Cecil",lastName: "Martin",};
typescripttype Person = Record<"firstName" | "middleName" | "lastName", string>;const person: Person = {firstName: "Robert",middleName: "Cecil",lastName: "Martin",};