TypeScript 中让我困惑的几个类型工具
Partial、Required、Pick、Omit 背后的设计逻辑。
TypeScript 内置了一批 Utility Types,它们看似简单,组合使用时却容易出错。
Partial 与 Required
Partial<T> 将 T 中所有属性变为可选,Required<T> 则相反。这两个类型在表单验证场景中非常实用。
Pick 与 Omit
Pick<T, K> 保留指定属性,Omit<T, K> 排除指定属性。在 API 响应类型定义中,经常需要 Omit 掉某些内部字段。
小结
理解这些工具类型的关键在于理解 keyof、in、extends 三个关键字在类型层面的含义。