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

在 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...
}
125346 次浏览

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

用于字符串数组的语法与 Google 闭包编译器支持的语法类似。

使用它,对象的数组将是:

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

或者只是一个任何东西的数组——这应该适用于几乎所有的文档工具:

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

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

/**
* @param {Object[]} myArray
*/

剪辑

如果你知道键和变量类型的值,你也可以这样做:

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

或者

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