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