You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为TypeScript内联匿名箭头函数指定返回类型

你完全可以直接给内联匿名箭头函数显式指定返回类型,不需要仅依赖变量类型声明,具体有三种常用的实现方式:

1. 直接给箭头函数本身标注返回类型

在箭头函数的参数闭合括号后、箭头符号前加冒号,后跟你要指定的返回类型即可,示例如下:

// 同时指定入参类型和返回类型
const otherTypeArr = myTypeArr.map((o: MyType): OtherType => ({
  bar: o.foo
}));

这种写法下,即使你不为接收变量otherTypeArr显式声明类型,TypeScript 也能自动推断出它的类型是OtherType[],而且在你写函数体的过程中就会实时校验返回值是否符合OtherType的要求。

2. 给接收变量声明类型

也就是你目前在用的写法:

const otherTypeArr: OtherType[] = myTypeArr.map(o => ({bar: o.foo}));

TypeScript 会基于变量的类型声明反向校验回调函数的返回值是否符合要求,这种写法在回调逻辑简短的场景下更简洁。

3. 指定map方法的泛型参数

你还可以通过指定数组map方法的泛型参数,间接约束回调的返回类型:

// 显式指定map返回的数组元素类型为OtherType
const otherTypeArr = myTypeArr.map<OtherType>(o => ({
  bar: o.foo
}));

这种写法下不需要单独给回调的入参和返回值标类型,TypeScript 会自动完成入参类型推断和返回值校验,是实际开发中非常常用的写法。


不同写法的适用场景

  • 回调逻辑简短、上下文清晰的场景:推荐使用「给接收变量声明类型」或者「指定map泛型参数」的写法,代码更简洁
  • 回调逻辑复杂、代码行数多的场景:推荐直接给箭头函数本身指定返回类型,这样你在编写函数体的过程中就能实时得到类型校验提示,不需要等到赋值阶段才发现类型错误

内容的提问来源于stack exchange,提问作者Rienzi G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:06:06