Javascript 如何在JSDoc中描述解构对象参数
如果我有一个JavaScript函数,将对象作为参数,我可以用JSDoc描述对象的预期属性,如下所示:Javascript 如何在JSDoc中描述解构对象参数,javascript,ecmascript-6,jsdoc,Javascript,Ecmascript 6,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,
/**
* @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确实支持通过创建占位符名称进行破坏。它缺乏官方文件
我也有同样的问题。现在我正在使用Visual Code Studi,它的插件做了类似的事情(这对我来说很合适):
这在VSCode 1.23.1中对我不起作用。这是VSCode的限制吗?请注意,此功能的官方JSDoc文档现在已发布。是关于此功能在VSCode中不起作用的特定问题。我们仍然没有一个好的解决方案answer@Maxwells.c被接受的答案有什么问题?没关系。这是一个很好的解决方案,很有效。我只是想找一个不那么冗长的。例如,JSDoc接受这个
@param{Object}{bar,qux}
。如果能用一个gux来描述,这样代码就少了,那就太好了。
/**
* @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;
/**
* @param {} {a
* @param {} b
* @param {} c}
* @param {} {d}
*/
const aaa = ({a,b,c},{d}) => {
}