如何在 JSDoc 中描述解构的对象参数
How to describe destructured object arguments in JSDoc
如果我有一个 JavaScript 函数将对象作为参数,我可以像这样用 JSDoc 描述对象的预期属性:
/**
* @param bar
* @param bar.baz {number}
* @param bar.qux {number}
*/
function foo(bar) {
return bar.baz + bar.qux;
}
如果我使用 ECMAScript 6 解构定义我的函数,根本不给真实参数对象命名,我该如何描述这些属性?
const foo = ({ baz, qux }) => baz + qux;
事实证明,JSDoc 确实支持通过构成占位符名称进行销毁。缺少官方文档。
http://usejsdoc.org/tags-param.html#parameters-with-properties
/**
* @param {Object} param - this is object param
* @param {number} param.baz - this is property param
* @param {number} param.qux - this is property param
*/
const foo = ({ baz, qux }) => baz + qux;
我也有同样的疑问。现在我正在使用 Visual Code Studi,它的插件做了这样的事情(这很适合我):
/**
* @param {} {a
* @param {} b
* @param {} c}
* @param {} {d}
*/
const aaa = ({a,b,c},{d}) => {
}
如果我有一个 JavaScript 函数将对象作为参数,我可以像这样用 JSDoc 描述对象的预期属性:
/**
* @param bar
* @param bar.baz {number}
* @param bar.qux {number}
*/
function foo(bar) {
return bar.baz + bar.qux;
}
如果我使用 ECMAScript 6 解构定义我的函数,根本不给真实参数对象命名,我该如何描述这些属性?
const foo = ({ baz, qux }) => baz + qux;
事实证明,JSDoc 确实支持通过构成占位符名称进行销毁。缺少官方文档。
http://usejsdoc.org/tags-param.html#parameters-with-properties
/**
* @param {Object} param - this is object param
* @param {number} param.baz - this is property param
* @param {number} param.qux - this is property param
*/
const foo = ({ baz, qux }) => baz + qux;
我也有同样的疑问。现在我正在使用 Visual Code Studi,它的插件做了这样的事情(这很适合我):
/**
* @param {} {a
* @param {} b
* @param {} c}
* @param {} {d}
*/
const aaa = ({a,b,c},{d}) => {
}