主题
内置工具类型
TypeScript 提供了一系列内置工具类型,用于对类型进行转换和操作。这些工具类型简化了常见的类型处理任务。
Partial<T>
Partial<T> 用于构造一个类型,其中的所有属性都是可选的。
ts
type Person = { name: string; age: number };
type PartialPerson = Partial<Person>; // { name?: string; age?: number }Required<T>
Required<T> 用于构造一个类型,其中的所有属性都是必需的。
ts
type Person = { name: string; age?: number };
type RequiredPerson = Required<Person>; // { name: string; age: number }Pick\<T, K>
Pick<T, K> 用于从一个类型中选择出一些属性,构造一个新类型。
ts
type Person = { name: string; age: number; gender: string };
type PersonNameAndAge = Pick<Person, "name" | "age">; // { name: string; age: number }Omit\<T, K>
Omit<T, K> 用于从一个类型中删除一些属性,构造一个新类型。
ts
type Person = { name: string; age: number; gender: string };
type PersonWithoutGender = Omit<Person, "gender">; // { name: string; age: number }Record\<K, T>
Record<K, T> 用于构造一个对象类型,其中 K 表示对象的键,T 表示每个键对应的值的类型。
ts
type Role = "admin" | "user" | "guest";
type Permissions = Record<Role, boolean>; // { admin: boolean; user: boolean; guest: boolean }ReturnType<T>
ReturnType<T> 用于获取函数类型 T 的返回值类型。
ts
type MyFunction = () => string;
type MyReturnType = ReturnType<MyFunction>; // stringParameters<T>
Parameters<T> 用于获取函数类型 T 的参数类型组成的元组类型。
ts
type MyFunction = (x: number, y: string) => void;
type MyParameters = Parameters<MyFunction>; // [number, string]这些工具类型大大简化了常见的类型转换和操作,使得代码更加简洁和易于维护。通过灵活使用这些内置类型,开发者能够高效地处理类型的变化和转换。