4.类型工具

# 4.类型工具

* Partial<T>: 创建一个类型,其中所有属性都是可选的。例如,Partial<{ name: string, age: number }> 将生成一个类型 { name?: string, age?: number }。

* Required<T>: 创建一个类型,其中所有属性都是必需的。例如,Required<{ name?: string, age?: number }> 将生成一个类型 { name: string, age: number }。

* Pick<T, K>: 从类型 T 中选择指定的属性集合 K。例如,Pick<{ name: string, age: number }, 'name'> 将生成一个类型 { name: string }。

* Omit<T, K>: 从类型 T 中排除指定的属性集合 K。例如,Omit<{ name: string, age: number }, 'name'> 将生成一个类型 { age: number }。

* Record<K, T>: 创建一个具有键类型 K 和值类型 T 的对象类型。例如,Record<string, number> 将生成一个类型,其键是字符串,值是数字的对象类型。

* Exclude<T, U>: 从类型 T 中排除可以赋值给 U 的类型。例如,Exclude<string | number, number> 将生成一个类型 string。

* Extract<T, U>: 从类型 T 中提取可以赋值给 U 的类型。例如,Extract<string | number, number> 将生成一个类型 number。

* NonNullable<T>: 从类型 T 中排除 null 和 undefined。例如,NonNullable<string | null | undefined> 将生成一个类型 string。

* ReturnType<T>: 获取函数类型 T 的返回类型。例如,ReturnType<() => string> 将生成一个类型 string。

* Parameters<T>: 获取函数类型 T 的参数类型元组。例如,Parameters<(x: number, y: string) => void> 将生成一个类型 [number, string]。```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Last Updated: 9/25/2026, 2:08:32 PM