keyof型演算子
keyof演算子は、オブジェクト型を受け取り、そのキーの文字列または数値リテラル結合を生成します。次の型Pは、type P = "x" | "y"と同じ型です。
tsTrytypePoint = {x : number;y : number };typeP = keyofPoint ;
型にstringまたはnumberのインデックスシグネチャがある場合、keyofは代わりにそれらの型を返します
tsTrytypeArrayish = { [n : number]: unknown };typeA = keyofArrayish ;typeMapish = { [k : string]: boolean };typeM = keyofMapish ;
この例では、Mはstring | numberであることに注意してください。これは、JavaScriptのオブジェクトキーは常に文字列に強制されるため、obj[0]は常にobj["0"]と同じになるためです。
keyof型は、マップ型と組み合わせると特に役立ちます。これについては後で詳しく学びます。