在 TypeScript 中,infer 关键字用于推断类型参数。它通常与条件类型一起使用。具体来说,当我们想要从一个类型中提取某些信息并将其用作另一个类型的类型参数时,可以使用 infer 关键字来推断出提取的信息。

例如,我们可以定义一个类型 ReturnType<T>,它可以从一个函数类型中提取返回值类型。具体实现如下:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : any;

这里使用了一个条件类型,它检查类型 T 是否可以赋值给一个函数类型,如果可以,则将其返回值类型推断为 R,否则将返回 any。使用这个类型可以方便地获取函数的返回值类型,例如:

function add(a: number, b: number): number {
  return a + b;
}

type Result = ReturnType<typeof add>; // Result 是 number 类型
ts中infer

原文地址: https://www.cveoy.top/t/topic/YQ5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录