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

如何在JSDoc typedef中标记函数的可选参数?(附示例)

给JSDoc中Queue的listQueueNames函数标记可选参数的正确方式

嘿,针对你这个需求,我给你两种常用且规范的写法,轻松搞定Queue类型里listQueueNames函数的可选参数标记:

方式一:直接在函数签名中标记(简洁版)

这种方式适合简单场景,直接用方括号[]包裹参数类型,就表示该参数是可选的:

/***
 * @typedef {object} Queue
 * @property {function([string]):string[]} listQueueNames Gets an optionally filtered list of QueueNames.
 */

这里的[string]就明确告诉编译器/编辑器:这个函数的参数是可选的字符串类型。

方式二:单独定义函数类型(清晰版)

如果需要更详细的参数说明,建议先单独定义函数的typedef,再在Queue类型中引用,可读性更强:

/**
 * @typedef {function} ListQueueNamesFn
 * @param {string} [filter] Optional filter string to narrow down the list of queue names
 * @returns {string[]} Array of queue names matching the filter (or all names if no filter is provided)
 */

/**
 * @typedef {object} Queue
 * @property {ListQueueNamesFn} listQueueNames Gets an optionally filtered list of QueueNames.
 */

这种方式还能给可选参数添加详细描述,甚至可以指定默认值,比如把@param写成@param {string} [filter=""],表示这个可选参数默认是空字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:56