はじめに
この記事は【LookUp型(インデックスアクセス型)】についての備忘録である。
【LookUp型(インデックスアクセス型)】とは
- 型から特定のプロパティの型を抽出する機能
- 型の再利用性や柔軟性が向上する
インデックスアクセス型の基本構文と使用方法
インデックスアクセス型の概要
- インデックスアクセス型は、オブジェクト型のプロパティの型を取得するために使用する。基本的な構文は以下の通りである。
// サンプルコード
type Person = {
name: string;
age: number;
};
type NameType = Person["name"]; // NameTypeはstring型になる
type AgeType = Person["age"]; // AgeTypeはnumber型になる
配列への利用
- 配列の場合、キーとして[number]を指定することで、要素を取り出せる
type Hoge = Array<string>;
type A = Hoge[number]; //型はstring
type Foo = string[];
type B = Foo[number]; //型はstring
type Bar = (string | boolean)[];
type C = Bar[number]; // 型はstring | boolean
keyofとの共存
- オブジェクトの各プロパティに対するvalueの型をユニオン型で取得できる
- ジェネリクスを用いて、型を関数のように扱うことが可能
interface Person {
name: string;
age: number;
}
type A = Person[keyof Person];
//型はstring | number
interface Person {
name: string;
age: number;
}
type ValueOfType<T, U extends keyof T> = T[U];
type Typeofname = ValueOfType<Person, "name">;
//型はstring
コメント