web-dev-qa-db-fra.com

Comment retourner nul dans JsDoc?

Existe-t-il un moyen spécifié de déclarer une méthode ou une fonction pour retourner void dans JsDoc? Actuellement, je crois que void est la valeur de retour par défaut, et d'autres valeurs de retour doivent être spécifiquement fournies:

/**
 * @return {Integer} The identifier for ...
 */
66
Tower

Je ne crois pas que vous ayez à choisir parmi un ensemble de types dans JsDoc ... vous pouvez utiliser n'importe quel nom de type que vous souhaitez (les accolades indiquent qu'il s'agit d'un type), vous pouvez donc simplement faire:

@return {Void}

Bien que cela soit probablement plus correct pour JavaScript:

@return {undefined}
73
David Tang

Compilateur de fermeture

Selon la documentation du compilateur de fermeture de Google, si rien n'est retourné, l'annotation @return doit être omise.

S'il n'y a pas de valeur de retour, n'utilisez pas de balise @return.

Source: https://developers.google.com/closure/compiler/docs/js-for-compiler#tags

jsdoc-toolkit

Cependant, une documentation supplémentaire indique également que returnType et returnDescription sont des paramètres facultatifs.

returnType - Facultatif: le type de la valeur de retour.

returnDescription - Facultatif: toute description supplémentaire.

Source: https://code.google.com/p/jsdoc-toolkit/wiki/TagReturns

Sommaire

Vous pouvez soit supprimer l'annotation de retour, soit l'inclure sans aucun paramètre.

94
Brent Robinson

En regardant les documents ESlint qu'ils utilisent @returns {void}

Source: http://eslint.org/docs/rules/valid-jsdoc

Étant donné que je dois fournir un @returns pour que chaque fonction réussisse les tests afin de pousser le code pour certains projets, cela est nécessaire dans mon cas.

6
primetimejas

Si vous devez dire à haute voix que rien n'est retourné, vous pouvez dire que dans la description de forme libre. Ceci est utile pour clarifier les situations dans lesquelles un utilisateur peut s'attendre à ce que quelque chose soit retourné. Bien sûr dénomination correcte de la fonction et des paramètres devrait à lui seul rendre le type de retour attendu apparent, mais ce n'est pas toujours possible.

/**
 * This is a funny function. Returns nothing.
 * @param {string} a joke.
 */
var funny = function (joke) {
  console.log(joke);
};
1
Akseli Palén