如何使用内联JSDoc来指定参数是可选的?
根据@param的JSDoc wiki,你可以指出@param是可选的
/** @param {String} [name] */ function getPerson(name) { }
你可以使用内联参数来表示一个参数
function getPerson(/**String*/ name) { }
我可以像下面这样将它们组合起来,这很好。
/** @param [name] */ function getPerson(/**String*/name) { }
但是我想知道是否有办法在可能的情况下全部内联。
经过一些挖掘,我发现这些也是好的
/** * @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) {}
略胜一筹function test(/**String=*/arg) {}
从官方文件 :
可选参数
一个名为foo的可选参数。
@param {number} [foo] // or: @param {number=} foo
一个可选参数foo,默认值为1。
@param {number} [foo=1]
我find了一种使用Google Closure Compiler typesexpression式的方法 。 你在types之后加上一个等号: function test(/**String=*/arg) {}