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

时间:2013-01-30 19:20:26

标签: javascript documentation jsdoc

在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 个答案:

答案 0 :(得分:133)

您应该更具体地了解JSDoc的含义 - 这是一个涵盖JavaScript的几乎所有JavaDoc样式文档工具的通用术语。

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

使用它,一个对象数组将是:

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

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

/**
 * @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
 */