web-dev-qa-db-fra.com

Comment spécifier un tableau d'objets en tant que paramètre ou valeur de retour dans JSDoc?

Dans JSDoc, la meilleure documentation que je peux trouver montre comment utiliser ce qui suit si vous avez un tableau d'un type spécifique (tel qu'un tableau de chaînes) en tant que:

/**
 * @param {Array.<string>} myStrings All my awesome strings
 */
 function blah(myStrings){
     //stuff here...
 }

Comment remplaceriez-vous les points d'interrogation ci-dessous pour spécifier un tableau d'objets?

/**
 * @param {???????} myObjects All of my equally awesome objects
 */
 function blah(myObjects){
     //stuff here...
 }
81
Ray

Vous devriez être plus précis sur ce que vous entendez par JSDoc - il s'agit d'un terme générique couvrant à peu près tous les outils de documentation de style JavaDoc pour JavaScript.

La syntaxe que vous avez utilisée pour le tableau de chaînes ressemble à celle prise en charge par compilateur Google Closure .

En utilisant cela, un tableau d'objets serait:

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

Ou juste un tableau de n'importe quoi - cela devrait fonctionner avec à peu près tous les outils de documentation:

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

jsdoc-toolkit , JSDoc , et JSDuck prennent en charge la syntaxe suivante pour désigner un tableau d'objets:

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

MODIFIER

Si vous connaissez les clés et le type de variable des valeurs, vous pouvez également le faire:

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

ou

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