You need to enable JavaScript to run this app. Typescript:如何定义包含多个泛型的函数的返回值类型?
优惠活动
大模型
产品
解决方案
定价
更多

Typescript:如何定义包含多个泛型的函数的返回值类型?

多泛型函数返回值类型定义方案

你现有代码中返回值标注:T,K属于语法错误,TypeScript中没有直接用逗号分隔多个类型作为返回值的写法,且你函数内实际返回的是模板拼接后的字符串,和你标注的T,K类型不匹配,你可以根据实际需求选择对应修正方案:

场景1:保持现有拼接字符串的逻辑

你函数内实际返回的是字符串类型,直接将返回值标注为string即可,修正后代码:

const getter = <T, K>(age: T, name: K): string => `${age} and ${name}`;

该场景下返回值类型可以被TypeScript自动推导,你也可以省略显式的返回值标注。

场景2:需要返回两个泛型对应的原始值

如果你本意是要返回两个泛型参数的对应值,而非拼接字符串,可以用元组或对象类型标注返回值:

  • 元组形式返回
// 返回值为[T类型, K类型]结构的元组
const getter = <T, K>(age: T, name: K): [T, K] => [age, name];
  • 对象形式返回
// 返回值为包含age、name属性,对应类型分别为T、K的对象
const getter = <T, K>(age: T, name: K): { age: T, name: K } => ({ age, name });

内容的提问来源于stack exchange,提问作者Andrew Kruglik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 06:27:02