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

如何正确使用JSDoc为数组展开参数编写文档?

正确编写Rest参数的JSDoc注释(解决WebStorm类型提示错误)

刚好碰到过这个问题!你用{Array<String>}注释...args的时候,WebStorm会误以为你需要传入一个数组参数,但你的函数实际是接收多个独立的字符串参数,所以才会弹出类型错误提示。

解决方法很简单,用JSDoc的「可变参数」语法就行,直接在类型前面加三个点...,告诉IDE这个参数是用来收集任意数量的同类型值的:

/**
 * 测试函数,接收任意数量的字符串参数
 * @param {...string} args - 任意数量的字符串参数,函数内部会将它们收集为一个数组
 */
function test(...args) {
  // 这里args会被WebStorm识别为string[]类型,数组方法(如map、forEach)都会有正常提示
}

test('a', 'b', 'c'); // 现在IDE不会再报类型错误了

为什么这个写法管用?因为...string明确告诉JSDoc:这个参数是「零个或多个字符串」,最终会被打包成数组。这样一来,你调用函数时传多个字符串,IDE会检查每个参数的类型是否符合;在函数内部,args也会被正确识别为string[]类型,完全不影响后续的代码提示。

如果你更习惯用Array<String>或者string[]的写法,也可以配合@rest标签来标注这是一个rest参数:

/**
 * 测试函数,接收任意数量的字符串参数
 * @param {string[]} args - 由多个字符串参数收集而成的数组
 * @rest
 */
function test(...args) {
  // ...
}

不过第一种...string的写法更简洁,也是目前主流IDE(包括WebStorm)支持最好的方式,推荐优先使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:50:52