内置工具类型
TypeScript 提供了一系列内置工具类型,用于对类型进行转换和操作。这些工具类型简化了常见的类型处理任务。
Partial<T>
Partial<T> 用于构造一个类型,其中的所有属性都是可选的。
type Person = { name: string; age: number };
type PartialPerson = Partial<Person>; // { name?: string; age?: number }
Required<T>
Required<T> 用于构造一个类型,其中的所有属性都是必需的。
type Person = { name: string; age?: number };
type RequiredPerson = Required<Person>; // { name: string; age: number }
Pick\<T, K>
Pick<T, K> 用于从一个类型中选择出一些属性,构造一个新类型。
type Person = { name: string; age: number; gender: string };
type PersonNameAndAge = Pick<Person, "name" | "age">; // { name: string; age: number }
Omit\<T, K>
Omit<T, K> 用于从一个类型中删除一些属性,构造一个新类型。
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 表示每个键对应的值的类型。
type Role = "admin" | "user" | "guest";
type Permissions = Record<Role, boolean>; // { admin: boolean; user: boolean; guest: boolean }
ReturnType<T>
ReturnType<T> 用于获取函数类型 T 的返回值类型。
type MyFunction = () => string;
type MyReturnType = ReturnType<MyFunction>; // string
Parameters<T>
Parameters<T> 用于获取函数类型 T 的参数类型组成的元组类型。
type MyFunction = (x: number, y: string) => void;
type MyParameters = Parameters<MyFunction>; // [number, string]
这些工具类型大大简化了常见的类型转换和操作,使得代码更加简洁和易于维护。通过灵活使用这些内置类型,开发者能够高效地处理类型的变化和转换。
相关内容
- 函数与类型 TypeScript 中函数相关的类型注解方式,包括参数与返回值类型、可选与默认参数、剩余参数,以及函数重载的用法。
- 接口与对象类型 TypeScript 中接口(interface)与对象类型的使用方法,包括 interface 与 type 的区别、可选与只读属性、索引签名以及函数类型定义...
- TypeScript 简介 TypeScript 是由 Microsoft 开发的开源编程语言,它是 JavaScript 的一个超集(superset),也就是说,所有合法的 JavaS...
- 类型系统基础 TypeScript 中的基本类型系统,包括原始类型、数组与元组、枚举、any 与 unknown 类型、类型别名与交叉类型等内容。
- 高级类型 介绍 TypeScript 中的高级类型,包括联合类型、类型保护、类型断言、字面量类型、映射类型、条件类型等,帮助开发者灵活使用复杂的类型。
- 类与面向对象 TypeScript 中类的定义方式、继承机制、访问修饰符,以及如何结合接口使用类,并了解抽象类与多态的基础用法。