教程 ts tutorial

内置工具类型

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>; // string

Parameters<T>

Parameters<T> 用于获取函数类型 T 的参数类型组成的元组类型。

ts
type MyFunction = (x: number, y: string) => void;
type MyParameters = Parameters<MyFunction>; // [number, string]

这些工具类型大大简化了常见的类型转换和操作,使得代码更加简洁和易于维护。通过灵活使用这些内置类型,开发者能够高效地处理类型的变化和转换。