【问题标题】:How to specify an array of objects as a parameter or return value in JSDoc?如何在 JSDoc 中指定一个对象数组作为参数或返回值?
【发布时间】:2013-01-14 17:46:22
【问题描述】:

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

【问题讨论】:

标签: javascript documentation jsdoc


【解决方案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
 */

【讨论】:

  • .符号现在已弃用,以后应该放弃它的支持。当前正确的版本是{Array&lt;Object&gt;}。只是为了让这篇文章保持最新。
  • 使用 JSDoc 3,你将如何记录一个字符串数组的数组?在旧语法中,我可能会做类似Array.&lt;string[]&gt;
  • @Kenny806 已弃用?请提供参考文件?
  • @Wilt:JSDoc documentation is contradictory 关于尖括号前的点。
  • 这个答案没有解释如何声明该数组中对象的键,以及如何将具有特定键的对象数组声明为返回类型。 This answer 会。
猜你喜欢
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
  • 2019-04-25
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多