← TypeScript コース
27. keyof — キーの一覧を型にする
keyof は、オブジェクト型からプロパティ名の一覧をユニオン型として取り出す演算子です。keyof User は "name" | "age" | "email" のような、キー名のリテラル型のユニオンになります。
実務では「オブジェクトとキー名を受け取って値を返す」ような汎用関数で使います。引数を keyof User にしておけば、存在しないキー名を渡した瞬間にエラーになり、文字列の打ち間違いによる undefined 事故を防げます。
型にプロパティを追加すれば keyof の結果も自動で追従します。「キー名のユニオンを手書きしない」のがポイントで、型の変更に強いコードになります。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript