infer。。。。

本文详细解释了TypeScript中的infer关键字如何与conditiontypes配合使用,通过示例展示了如何从函数类型中推断返回类型,如`ReturnType<typeOffoo>`中infer的作用和应用。
摘要由CSDN通过智能技术生成

多看几遍https://xiaoman.blog.csdn.net/article/details/122758713

在 TypeScript 中,infer 关键字用于从表达式中推断类型。它通常与条件类型(conditional types)一起使用,在条件类型的分支中可以推断出一个新的类型。

下面是一个示例,展示了如何在 TypeScript 中使用 infer

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

function foo(): string {
  return "Hello, world!";
}

type FooReturnType = ReturnType<typeof foo>;
// FooReturnType 类型会被推断为 string

在上面的示例中,我们定义了一个 ReturnType 条件类型,它接受一个函数类型作为参数,并根据函数的返回类型来推断一个新的类型。通过使用 infer R,我们将返回类型赋值给 R,然后将其作为条件类型的返回结果。

在我们调用 ReturnType<typeof foo> 的时候,infer 关键字会从 foo 函数的类型中推断出返回类型是 string,因此 FooReturnType 类型也会被推断为 string

希望这个示例能帮助你理解如何使用 infer 关键字的基本用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天吃饭的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值