TypeScript Mapped Types
Learn mapped types to build new types by looping over keys of existing ones.
David Miller
January 3, 2026
0.7k22
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
#TypeScript#Intermediate#Mapped Types