Keyof型演算子

keyof型演算子

keyof演算子は、オブジェクト型を受け取り、そのキーの文字列または数値リテラル結合を生成します。次の型Pは、type P = "x" | "y"と同じ型です。

ts
type Point = { x: number; y: number };
type P = keyof Point;
type P = keyof Point
Try

型にstringまたはnumberのインデックスシグネチャがある場合、keyofは代わりにそれらの型を返します

ts
type Arrayish = { [n: number]: unknown };
type A = keyof Arrayish;
type A = number
 
type Mapish = { [k: string]: boolean };
type M = keyof Mapish;
type M = string | number
Try

この例では、Mstring | numberであることに注意してください。これは、JavaScriptのオブジェクトキーは常に文字列に強制されるため、obj[0]は常にobj["0"]と同じになるためです。

keyof型は、マップ型と組み合わせると特に役立ちます。これについては後で詳しく学びます。

TypeScriptのドキュメントはオープンソースプロジェクトです。これらのページの改善にご協力ください。プルリクエストを送信してください ❤

このページの貢献者
OTOrta Therox (3)
RMRoman Mahotskyi (1)
MMMasashi Miyazaki (1)
Ssuica (1)

最終更新日: 2024年3月21日