Record<Keys, Type>
Record<Keys, Type>
はプロパティのキーがKeys
であり、プロパティの値がType
であるオブジェクト型を作るユーティリティ型です。
#
Record<Keys, Type>の型引数#
Keysオブジェクトのプロパティーキーを指定します。Keys
に代入できる型は、string
、number
、symbol
とそれぞれのリテラル型です。
#
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 };
キーがfirstName
、middleName
、familyName
で、値が文字列になるオブジェクト型を定義する。
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",};