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

2022-08-30 02:30:47

在 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...
 }

答案 1

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

您用于字符串数组的语法类似于 Google Closure Compiler 支持的语法

使用这个,对象数组将是:

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

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

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

jsdoc-toolkitJSDoc 3JSDuck 支持以下语法来表示对象数组:

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

编辑

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

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

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

答案 2