映射类型(Mapped Types)

6 阅读1分钟

映射类型就是“遍历一个对象类型的所有 key,生成一个新对象类型”(类型层的 for...in)。

type MyPartial<T> = {
  [K in keyof T]?: T[K]
}

type User = { id: number; name: string }
type PUser = MyPartial<User>
// { id?: number; name?: string }

常见用途:批量把字段变成可选、只读、去掉只读、给字段套一层包装等。

  • 映射类型:类型层 “遍历 key 生成新类型”