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

如何在JSDoc中记录使用arguments对象的函数参数顺序?

正确记录多签名函数的JSDoc方案

针对你的DoLog函数,JSDoc官方推荐使用@overload标签来明确记录多种合法的调用签名,替代已过时的@also标签。以下是适配三种调用方式的完整注释写法:

/**
 * 输出带级别标识的日志,支持三种调用形式
 * @overload
 * @param {string} content - 日志内容(仅传此参数时,级别默认info,日志方法默认log)
 * @returns {void}
 * @overload
 * @param {string} [level='info'] - 日志级别
 * @param {string} content - 日志内容
 * @returns {void}
 * @overload
 * @param {string} [level='info'] - 日志级别
 * @param {string} content - 日志内容
 * @param {string} [logger='log'] - 控制台日志方法名(对应console[logger],如'warn'、'error')
 * @returns {void}
 */
function DoLog() {
    let level='info', content, logger='log';
    switch (arguments.length) {
        case 1:
            content = arguments[0];
            break;
        case 2:
            level = arguments[0];
            content = arguments[1];
            break;
        case 3:
            level = arguments[0];
            content = arguments[1];
            logger = arguments[2];
    }
    console[logger](`[${level}] ${content}`);
}

写法说明

  1. 每个@overload块对应一种合法的调用方式,IDE会识别这些签名并在代码提示中展示正确的参数组合
  2. 每个@overload下的@param严格对应该调用方式的参数顺序和必填性:
    • 第一种重载明确只有content一个必填参数
    • 第二种重载是level(可选,默认info)+content(必填)
    • 第三种重载在前两者基础上增加可选的logger参数(默认log)
  3. 主注释的第一行是函数的整体描述,让使用者快速了解功能

这样写既符合JSDoc官方规范,又能准确反映函数的实际调用规则,避免IDE出现错误的参数提示。

内容的提问来源于stack exchange,提问作者PY-DNG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:30:56