Dmytro Morar
TypeScript

keyof

keyof returns a union of property names from a type.

Example

interface User {
  id: number;
  name: string;
  age: number;
}
type UserKeys = keyof User; // "id" | "name" | "age"

Safe access

function getValue<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

With typeof

const user = { id: 1, name: "Olha" };
type Keys = keyof typeof user; // "id" | "name"

On this page