跳过导航

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]
}

类型体操让代码更安全、更智能!

关于作者

拿铁姑娘

拿铁姑娘

貌美如花,产品当家。文档先行,代码随后的拿铁姑娘。