TypeScript 类型体操入门
latte-girl·
TypeScript类型系统进阶
什么是类型体操?
类型体操是指利用 TypeScript 的类型系统进行复杂的类型运算和推导。
基础类型工具
1. Partial - 可选化
type User = { name: string; age: number }
type PartialUser = Partial<User>
// { name?: string; age?: number }2. Pick - 选取
type UserName = Pick<User, 'name'>
// { name: string }3. Omit - 排除
type UserWithoutAge = Omit<User, 'age'>
// { name: string }条件类型
type IsString<T> = T extends string ? true : false
type A = IsString<'hello'> // true
type B = IsString<123> // false实战:深度只读
type DeepReadonly<T> = {
readonly [K in keyof T]: T[K] extends object
? DeepReadonly<T[K]>
: T[K]
}类型体操让代码更安全、更智能!