如何在 JSDoc 中将对象数组指定为参数或返回值

How to specify an array of objects as a parameter or return value in JSDoc?

本文关键字:参数 返回值 数组 对象 JSDoc      更新时间:2023-09-26

在 JSDoc 中,我能找到的最好的文档显示,如果你有一个特定类型的数组(例如字符串数组),则可以使用以下文档:

/**
 * @param {Array.<string>} myStrings All my awesome strings
 */
 function blah(myStrings){
     //stuff here...
 }

您将如何替换以下问号指定对象数组?

/**
 * @param {???????} myObjects All of my equally awesome objects
 */
 function blah(myObjects){
     //stuff here...
 }

你应该更具体地说明你所说的JSDoc - 这是一个通用术语,涵盖了几乎所有的JavaDoc风格的JavaScript文档工具。

您用于字符串数组的语法看起来像 Google 闭包编译器支持的语法。

使用它,对象数组将是:

/**
 * @param {Array.<Object>} myObjects
 */

或者只是一系列任何东西 - 这应该适用于几乎所有的文档工具:

/**
 * @param {Array} myArray
 */

jsdoc-toolkit、JSDoc 3 和 JSDuck 支持以下语法来表示对象数组:

/**
 * @param {Object[]} myArray
 */
<小时 />

编辑

如果您知道值的键和变量类型,您还可以执行以下操作:

/**
 * @param {Array.<{myNumber: Number, myString: String, myArray: Array}>} myObjects
 */

/**
 * @param {{myNumber: Number, myString: String, myArray: Array}[]} myObjects
 */