# TypeScript's keyof and Mapped Types
The keyof
operator and mapped types in TypeScript allow for advanced type manipulation. Here’s an example:
interface User { id: number name: string email: string}
type UserKeys = keyof User // 'id' | 'name' | 'email'
type ReadonlyUser = { [K in keyof User]: Readonly<User[K]>}
const user: ReadonlyUser = { id: 1, name: 'John', email: 'john@example.com',}
// user.id = 2; // Error: Cannot assign to 'id' because it is a read-only property.
These features make TypeScript a powerful tool for creating robust and type-safe applications.
echo "Using keyof and mapped types in TypeScript"