TypeScriptTypeScript20 min read

TypeScript keyof and typeof

Use keyof and typeof to build types from existing objects and make safer APIs.

David Miller
December 21, 2025
0.0k0

These operators help you create types from values. ## typeof ```ts const user = { id: 1, name: "Tom" }; type User = typeof user; ``` Now User is { id: number; name: string } ## keyof ```ts type UserKeys = keyof User; // "id" | "name" ``` ## Use together ```ts function getProp<T, K extends keyof T>(obj: T, key: K) { return obj[key]; } getProp(user, "name"); // getProp(user, "age"); ❌ ``` ## Graph ```mermaid flowchart LR A[Object] --> B[typeof] B --> C[Type] C --> D[keyof] D --> E[Union of keys] ``` ## Remember - typeof turns value into type - keyof gives safe property names

#TypeScript#Intermediate#Types