Как задать массив объектов в качестве параметра или возвращаемого значения в 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 60

1 ответ:

вы должны быть более конкретными, что вы подразумеваете под JSDoc-это общий термин, охватывающий почти все инструменты документации в стиле JavaDoc для JavaScript.

синтаксис, который вы использовали для массива строк, похоже, поддерживается Компилятор Закрытия Google.

используя это, массив объектов будет:

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

или просто массив чего - либо- это должно работать практически со всеми doc инструменты:

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

jsdoc-Toolkit и,JSDoc 3 и JSDuck поддержка следующего синтаксиса для обозначения массива объектов:

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

EDIT

если вы знаете ключи и тип переменной значений, которые вы также можете сделать:

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

или

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