如何使用内联 JSDoc 指示参数是可选的?可选参数

根据 JSDoc wiki for @param 您可以使用以下命令指示@param是可选的

/**
    @param {String} [name]
*/
function getPerson(name) {
}

并且您可以使用以下命令以内联方式指示参数

function getPerson(/**String*/ name) {
}

我可以像下面这样将它们组合在一起,这很好。

/**
    @param [name]
*/
function getPerson(/**String*/name) {
}

但是我想知道,如果可能的话,是否有一种方法可以以内联方式完成所有操作。


答案 1

来自官方文档

可选参数

名为 foo 的可选参数。

@param {number} [foo]
// or:
@param {number=} foo

默认值为 1 的可选参数 foo。

@param {number} [foo=1]

答案 2

经过一番挖掘,我发现这些也没关系

/**
 * @param {MyClass|undefined}
 * @param {MyClass=}
 * @param {String} [accessLevel="author"] The user accessLevel is optional.
 * @param {String} [accessLevel] The user accessLevel is optional.
 */

只是视觉吸引力略高于function test(/**String=*/arg) {}