【问题标题】:How to document an array of objects in JSDOC如何在 JSDOC 中记录一组对象
【发布时间】:2015-11-24 13:04:09
【问题描述】:

我有一个以对象数组作为参数的函数,并想使用 JSDOC 来描述参数(包括数组中对象的属性),如下例所示:

/**
 * @param {Array.<Object>} filter - array of filter objects
 * @param ...
 */
function doSomething(filter) {
}

过滤器是这样的:

filter = [
   {id: 'session', value: 1},
   {id: 'name', value: 'john'}
]

如何在 jsdoc3 中记录 idvalue 属性?

【问题讨论】:

标签: javascript jsdoc jsdoc3


【解决方案1】:

像这样:

/**
 * @param {Object[]} filter - a list of literal filter objects
 * @param {string} filter[].id -  id to filter against...
 * @param {string|number} filter[].value - value to filter for...
 */
function doSomething(filter) {
    // do stuff
}

取自http://usejsdoc.org/tags-param.html

【讨论】:

  • 有什么方法可以将它与@typedef 一起使用吗?我想基本上做同样的事情,除了@typedef {Object[]} filter 而不是@param {Object[]} filter,因为我重用了很多类型。我尝试过同样的事情,但将@params(不包括第一个,变为@typedef)更改为@type@typedef@param,但似乎没有任何效果。
  • 我更喜欢使用Array.&lt;Object&gt; 而不是Object[],例如@param {Array.&lt;Object&gt;} filter。但是,VSCode 仅在对数组使用 Object[] 语法时才识别数组项的属性。使用Array.&lt;Object&gt; 时是否有不同的方法来指定数组项属性?
猜你喜欢
  • 2021-12-31
  • 1970-01-01
  • 2019-04-06
  • 2021-05-04
  • 2017-11-20
  • 2021-02-20
  • 2017-12-10
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多