根据@param的JSDoc wiki,您可以指示@param是可选的
/** @param {String} [name] */ function getPerson(name) { }
并且您可以指示内联使用的参数
function getPerson(/**String*/ name) { }
我可以将它们组合起来,如下所示,它可以正常工作.
/** @param [name] */ function getPerson(/**String*/name) { }
但我想知道是否有办法在可能的情况下全部内联.
从官方文件:
可选参数一个名为foo的可选参数.
@param {number} [foo]
// or:
@param {number=} foo
可选参数foo,默认值为1.
@param {number} [foo=1]
经过一番挖掘后,我发现这些也没问题
/** * @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) {}
我找到了一种使用Google Closure Compiler 类型表达式来实现此目的的方法.你在类型之后放了一个等号:
function test(/**String=*/arg) {}