-
Required
- 作用:将类型
T中的所有属性变为必选。 - 示例:如果有一个接口
interface User { name?: string; age?: number; },使用type RequiredUser = Required<User>;后,RequiredUser类型的name和age属性都将变为必选。
- 作用:将类型
-
Readonly
- 作用:将类型
T中的所有属性变为只读。 - 示例:对于接口
interface User { name: string; age: number; },type ReadonlyUser = Readonly<User>;后,ReadonlyUser类型的name和age属性将不能被重新赋值。
- 作用:将类型
-
Pick
- 作用:从类型
T中选择指定的属性K,并创建一个新类型,该类型仅包含K中指定的属性。 - 示例:给定
interface User { name: string; age: number; email: string; },type UserProfile = Pick<User, 'name' | 'age'>;会创建一个新类型UserProfile,它只包含name和age属性。
- 作用:从类型
-
Omit
- 作用:从类型
T中排除指定的属性K,并创建一个新类型,该类型不包含K中指定的属性。 - 示例:基于上述
User接口,type UserWithoutEmail = Omit<User, 'email'>;会创建一个新类型UserWithoutEmail,它不包含email属性。
- 作用:从类型
-
Record
- 作用:将对象所有的属性都转化为需要的类型。
Record<K, T>创建一个类型,该类型的属性键是K,属性值是T。 - 示例:
type Key = 'id' | 'name'; type RecordExample = Record<Key, string>;会创建一个类型,其属性键可以是'id'或'name',属性值必须是string类型。
- 作用:将对象所有的属性都转化为需要的类型。
-
NonNullable
- 作用:从类型中去除
null和undefined。 - 示例:
type NonNullableString = NonNullable<string | null | undefined>;的结果是string。
- 作用:从类型中去除
-
Parameters
- 作用:获取函数的参数类型所组成的元组类型。
- 示例:对于函数
function foo(a: number, b: string): void {},type Params = Parameters<typeof foo>;的结果是[number, string]。
-
ReturnType
- 作用:获取函数的返回值类型。
- 示例:基于上述
foo函数,type ReturnTypeFoo = ReturnType<typeof foo>;的结果是void