// My function does X and Y.
// @params {object} parameters An object containing the parameters
// @params {function} callback The callback function
function(parameters, callback) {
}
Mais comment décrire la structure de l'objet paramètres? Par exemple, cela devrait être quelque chose comme:
{
setting1 : 123, // (required, integer)
setting2 : 'asdf' // (optional, string)
}
javascript
jsdoc
Andy Hin
la source
la source
action
nom, j'écris `foo = ({arg1, arg2, arg2}) => {...}`. Edit: question ici stackoverflow.com/questions/36916790/…À l'heure actuelle, il existe 4 façons différentes de documenter les objets en tant que paramètres / types. Chacun a ses propres utilisations. Cependant, seuls 3 d'entre eux peuvent être utilisés pour documenter les valeurs de retour.
Pour les objets avec un ensemble de propriétés connu (variante A)
Cette syntaxe est idéale pour les objets qui ne sont utilisés que comme paramètres pour cette fonction et ne nécessitent pas de description supplémentaire de chaque propriété. Il peut être utilisé pour
@returns
aussi bien .Pour les objets avec un ensemble de propriétés connu (Variante B)
Les paramètres avec la syntaxe des propriétés sont très utiles :
Cette syntaxe est idéale pour les objets qui ne sont utilisés que comme paramètres pour cette fonction et qui nécessitent une description plus détaillée de chaque propriété. Cela ne peut pas être utilisé pour
@returns
.Pour les objets qui seront utilisés à plus d'un point dans la source
Dans ce cas, un @typedef est très pratique. Vous pouvez définir le type à un moment de votre source et l'utiliser comme type pour
@param
ou@returns
ou d'autres balises JSDoc pouvant utiliser un type.Vous pouvez ensuite l'utiliser dans une
@param
balise:Ou dans un
@returns
:Pour les objets dont les valeurs sont toutes du même type
Le premier type (chaîne) documente le type des clés qui en JavaScript est toujours une chaîne ou au moins seront toujours contraintes à une chaîne. Le deuxième type (nombre) est le type de la valeur; cela peut être de n'importe quel type. Cette syntaxe peut également être utilisée
@returns
.Ressources
Des informations utiles sur la documentation des types peuvent être trouvées ici:
https://jsdoc.app/tags-type.html
PS:
pour documenter une valeur facultative, vous pouvez utiliser
[]
:ou:
la source
{{dir: A|B|C }}
?{[myVariable]: string}
Je vois qu'il y a déjà une réponse à propos de la balise @return, mais je veux donner plus de détails à ce sujet.
Tout d'abord, la documentation officielle de JSDoc 3 ne nous donne aucun exemple sur le @return pour un objet personnalisé. Veuillez consulter https://jsdoc.app/tags-returns.html . Voyons maintenant ce que nous pouvons faire jusqu'à ce qu'une norme apparaisse.
La fonction renvoie un objet où les clés sont générées dynamiquement. Exemple:
{1: 'Pete', 2: 'Mary', 3: 'John'}
. Habituellement, nous parcourons cet objet à l'aide defor(var key in obj){...}
.JSDoc possible selon https://google.github.io/styleguide/javascriptguide.xml#JsTypes
La fonction renvoie un objet dont les clés sont des constantes connues. Exemple:
{id: 1, title: 'Hello world', type: 'LEARN', children: {...}}
. Nous pouvons facilement accéder aux propriétés de cet objet:object.id
.JSDoc possible selon https://groups.google.com/forum/#!topic/jsdoc-users/TMvUedK9tC4
Fake It.
Le Full Monty.
Définissez un type.
Selon https://google.github.io/styleguide/javascriptguide.xml#JsTypes
Le type d'enregistrement.
la source
Pour
@return
l'utilisation des balises{{field1: Number, field2: String}}
, voir: http://wiki.servoy.com/display/public/DOCS/Annotating+JavaScript+using+JSDocla source
Source: JSDoc
la source
Il y a une nouvelle
@config
balise pour ces cas. Ils sont liés aux précédents@param
.la source
@config
balise? Je n'ai rien trouvé sur usejsdoc.org , et cette page suggère qu'elle@config
est obsolète.@config
c'est obsolète à ce stade. YUIDoc recommande d'utiliser à la@attribute
place.