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

TypeScript函数类型声明中void可选参数类型含义解析

解读TypeGraphQL中的ReturnTypeFunc类型

整体类型解读

export declare type ReturnTypeFunc = (returns?: void) => ReturnTypeFuncValue; 这段代码定义了一个函数类型别名ReturnTypeFunc,它描述的函数具备以下特征:

  • 可接收一个可选参数
  • 函数返回值类型为ReturnTypeFuncValue(TypeGraphQL内部定义的类型,用于承载GraphQL字段返回类型的元数据)

详解(returns?: void)

这部分是函数的参数签名,拆解细节如下:

  • returns:仅为参数名称,语义上关联“返回类型”的用途,实际在函数实现或调用过程中通常不会用到该参数的值
  • ?::标记该参数为可选参数,调用符合此类型的函数时,可以选择不传该参数
  • void:是该参数的类型。在TypeScript中,void类型的参数仅能接收undefined或被省略。此处用void是一种语义化设计,明确表示这个参数不需要传递有实际意义的值,仅作为语法占位存在——TypeGraphQL的装饰器(如@Query)中,这类函数的核心作用是返回要定义的GraphQL类型,参数本身无实际业务用途。

实际使用示例

符合该类型的常见写法有两种:

  1. 省略可选参数(最常用):
@Query(() => User)
async getUser(): Promise<User> {
  // 业务逻辑实现
}
  1. 显式写出参数(参数不会被使用):
@Query((returns) => User)
async getUser(): Promise<User> {
  // 业务逻辑实现
}

两种写法均完全符合ReturnTypeFunc的类型要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:35:44