如何在JSDOC中记录对象数组

dob*_*ler 9 javascript jsdoc jsdoc3

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

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

过滤器是这样的:

filter = [
   {id: 'session', value: 1},
   {id: 'name', value: 'john'}
]
Run Code Online (Sandbox Code Playgroud)

如何将文件的属性id,并value在jsdoc3?

sto*_*lli 16

像这样:

/**
 * @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
}
Run Code Online (Sandbox Code Playgroud)

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

  • 我更喜欢使用 `Array.&lt;Object&gt;` 而不是 `Object[]`,例如 `@param {Array.&lt;Object&gt;} filter`。但是,VSCode 仅在对数组使用“Object[]”语法时识别数组项的属性。使用“Array.&lt;Object&gt;”时是否有不同的方法来指定数组项属性? (2认同)