Подтвердить что ты не робот

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

Ответ 1

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

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

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

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

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

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

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

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

ИЗМЕНИТЬ

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

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

или

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