args,...args与Parameters<T>

1、...args

...args含义是:

从调用方传进来的那一串逗号分隔的参数里,把落在这个位置上的参数收集进变量 args。

定义时写 ...args,类型是数组 ------ 因为收进来之后它就是数组

2、(...args: never[]) => void

never[]这里的含义是:

  • never = 不可能存在的类型(没有任何值能赋给它)
  • never[] = 一个元素类型为 never 的数组
  • 这里表示该函数不能接收任何参数

<T extends (...args: never[]) => void>

T extends (...args: never[]) => void 是 TypeScript 里常见的泛型写法,

右侧只是给 T 定一个「必须是函数、且返回值可赋给 void」的上界

目的是让传入的具体 fn 被推断出完整签名,从而 Parameters<T> 能拿到真实参数元组。。

这里意思是:T 必须是「任意参数个数、返回 void(或可赋给 void)」的函数类型。


3、Parameters<T> 描述函数的参数的 ts 类型,这里T是个函数

Parameters<T> 只和函数类型 T 有关,和变量名 args 无关。

举例:

tsx 复制代码
const fn = (name: string, age: number) => { ... };
// T 被推断为: (name: string, age: number) => void
// Parameters<T> 为: [string, number]
相关推荐
Pniubi3 小时前
HashMap的扩容和树化边界
java·开发语言
知了学历孙老师3 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
gCode Teacher 格码致知4 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工4 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留5 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
ShineWinsu5 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
福兮说6 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
益莱储中国6 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
benchmark_cc7 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
程序员老赵7 小时前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源