如何使用 JSDoc 命名参数
How to JSDoc named arguments
在我的一个 JavaScript 文件中,我必须引入一些可选参数,所以我遵循 this 指南并得出以下方法声明:
function my_func({
opt1,
opt2 = 250,
opt3 = "A message.",
opt4 = null
}) {
// Do something
}
我可以这样称呼它:
my_func({
opt1: "boom",
opt4: document.getElementById("some-element"),
opt3: "A different message.",
opt2: 200
});
我什至可以删除一些参数并将它们按任意顺序排列。
现在,我想使用 JSDoc 记录它,但我很困惑,我的 JSDoc 评论会是什么样子?因为那应该定义我必须在花括号内输入参数,而且我还必须使用键。
如果有任何其他方式我可以使用命名参数 and/or 可选参数,那么我也将不胜感激。
您可以为此使用 @typedef
。检查 this documentation.
针对您的情况:
/**
* @typedef {Object} NameMeAsYouLike
* @property {string} opt1 - opt1 description
* @property {string} [opt2=250] - opt2 description
* @property {string} [opt3=A message.] - opt3 description
* @property {number} [opt4=null] - opt4 description
*/
/**
* @param {NameMeAsYouLike} name me as you like
*/
function my_func({
opt1,
opt2 = 250,
opt3 = "A message.",
opt4 = null
}) {
// Do something
}
在我的一个 JavaScript 文件中,我必须引入一些可选参数,所以我遵循 this 指南并得出以下方法声明:
function my_func({
opt1,
opt2 = 250,
opt3 = "A message.",
opt4 = null
}) {
// Do something
}
我可以这样称呼它:
my_func({
opt1: "boom",
opt4: document.getElementById("some-element"),
opt3: "A different message.",
opt2: 200
});
我什至可以删除一些参数并将它们按任意顺序排列。
现在,我想使用 JSDoc 记录它,但我很困惑,我的 JSDoc 评论会是什么样子?因为那应该定义我必须在花括号内输入参数,而且我还必须使用键。
如果有任何其他方式我可以使用命名参数 and/or 可选参数,那么我也将不胜感激。
您可以为此使用 @typedef
。检查 this documentation.
针对您的情况:
/**
* @typedef {Object} NameMeAsYouLike
* @property {string} opt1 - opt1 description
* @property {string} [opt2=250] - opt2 description
* @property {string} [opt3=A message.] - opt3 description
* @property {number} [opt4=null] - opt4 description
*/
/**
* @param {NameMeAsYouLike} name me as you like
*/
function my_func({
opt1,
opt2 = 250,
opt3 = "A message.",
opt4 = null
}) {
// Do something
}