请解释 TypeScript 中的 Exclude、Extract、NonNullable、ReturnType 和 InstanceType 等内置的条件类型的作用和用法

推荐答案

Exclude

Exclude<T, U> 用于从类型 T 中排除那些可以赋值给类型 U 的类型。例如:

Extract

Extract<T, U> 用于从类型 T 中提取那些可以赋值给类型 U 的类型。例如:

NonNullable

NonNullable<T> 用于从类型 T 中排除 nullundefined。例如:

ReturnType

ReturnType<T> 用于获取函数类型 T 的返回类型。例如:

InstanceType

InstanceType<T> 用于获取构造函数类型 T 的实例类型。例如:

本题详细解读

Exclude

Exclude<T, U> 是 TypeScript 中的一个内置条件类型,它通过从类型 T 中排除那些可以赋值给类型 U 的类型来生成新的类型。这在处理联合类型时非常有用,特别是当你需要从一组类型中排除某些特定类型时。

Extract

Extract<T, U> 是另一个内置条件类型,它与 Exclude 相反,用于从类型 T 中提取那些可以赋值给类型 U 的类型。这在需要从一组类型中筛选出特定类型时非常有用。

NonNullable

NonNullable<T> 是一个内置条件类型,用于从类型 T 中排除 nullundefined。这在处理可能包含 nullundefined 的类型时非常有用,特别是在你需要确保类型不包含这些值时。

ReturnType

ReturnType<T> 是一个内置条件类型,用于获取函数类型 T 的返回类型。这在需要获取函数的返回类型时非常有用,特别是在处理高阶函数或泛型函数时。

InstanceType

InstanceType<T> 是一个内置条件类型,用于获取构造函数类型 T 的实例类型。这在需要获取类的实例类型时非常有用,特别是在处理类工厂或泛型类时。

纠错
反馈