TypeScript Mapped Types
Learn mapped types to build new types by looping over keys of existing ones.
Mapped types let you create new types from existing ones. ## Basic mapped type ```ts type Flags<T> = { [K in keyof T]: boolean; }; type User = { id: number; name: string }; type UserFlags = Flags<User>; ``` UserFlags becomes: { id: boolean; name: boolean } ## Make all readonly ```ts type ReadonlyType<T> = { readonly [K in keyof T]: T[K]; }; ``` ## Graph ```mermaid flowchart LR A[keyof T] --> B[Loop keys] B --> C[New type] ``` ## Remember - Mapped types transform properties - Used in many utility types