TypeScript 工具类型解析
在 TypeScript 中,工具类型是一种强大的工具,用于创建和转换类型。本文将介绍一些常用的 TypeScript 工具类型,包括
Record、Partial、Required、Readonly、Pick、Exclude、Extract、Omit、NonNullable、Parameters、ConstructorParameters、ReturnType和InstanceType。

这些TypeScript 工具类型能帮助你更轻松地操作和转换类型:
- Record: 定义对象的键值对类型。
- Partial: 生成所有属性可选的新类型。
- Required: 生成所有属性必需的新类型。
- Readonly: 生成所有属性只读的新类型。
- Pick: 从类型中选择指定属性生成新类型。
- Exclude: 从类型中排除指定属性生成新类型。
- Extract: 从类型中提取指定属性生成新类型。
- Omit: 从类型中排除指定属性生成新类型。
- NonNullable: 从类型中排除 null 和 undefined。
- Parameters: 获取函数的参数类型并以元组形式返回。
- ConstructorParameters: 获取构造函数的参数类型并以元组形式返回。
- ReturnType: 获取函数的返回值类型。
- InstanceType: 获取构造函数的实例类型。
Record
Record 是一个很常用的工具类型,用于定义一个对象的键值对类型。
typescript复制代码type Record<K extends string | number | symbol, T> = {
[P in K]: T;
}
示例
定义一个描述宠物信息的对象
type petsGroup = 'dog' | 'cat' | 'fish';
interface IPetInfo {
name:string,
age:number,
}
type IPets = Record<petsGroup, IPetInfo>;
const animalsInfo:IPets = {
dog:{
name:'dogName',
age:2
},
cat:{
name:'catName',
age:3
},
fish:{
name:'fishName',
age:5
}
}
Partial
Partial 用于生成一个新类型,该类型与原始类型拥有相同的属性,但是所有属性都是可选的。
type Partial<T> = {
[P in keyof T]?: Partial<T[P]>
}
示例
interface Foo {
name: string; age?: number;
}
type Bar = Partial<Foo
深入理解TypeScript中的工具类型及其应用

最低0.47元/天 解锁文章
511

被折叠的 条评论
为什么被折叠?



