Selon le wiki JSDoc pour @param, vous pouvez indiquer qu'un @param est facultatif en utilisant
/**
@param {String} [name]
*/
function getPerson(name) {
}
et vous pouvez indiquer un paramètre en ligne en utilisant
function getPerson(/**String*/ name) {
}
Et je peux les combiner comme suit, ce qui fonctionne bien.
/**
@param [name]
*/
function getPerson(/**String*/name) {
}
Mais j'aimerais savoir s'il existe un moyen de tout faire en ligne si possible.
javascript
google-closure-compiler
jsdoc
studgeek
la source
la source
Après quelques recherches, j'ai trouvé que ça allait aussi
Juste un peu plus attrayant visuellement que
function test(/**String=*/arg) {}
la source
J'ai trouvé un moyen de le faire en utilisant des expressions de type Google Closure Compiler . Vous mettez un signe égal après le type comme ceci:
function test(/**String=*/arg) {}
la source
Si vous utilisez des commentaires de type en ligne sur les arguments de fonction et que vous vous demandez comment marquer un argument de fonction comme facultatif dans cette notation, j'ai trouvé que le simple fait d'attribuer des valeurs par défaut aux arguments facultatifs fonctionnait. Si vous voulez que la valeur par défaut soit,
undefined
vous devez également la définir explicitement, sinon l'argument ne sera pas marqué comme facultatif (même s'il est précédé d'arguments déjà facultatifs):Si vous survolez
demo
votre IDE, vous devriez voir les deuxoptional1
etoptional2
apparaître comme facultatifs maintenant. Dans VSCode qui est indiqué par?
après le nom de l'argument (notation TypeScript). Si vous supprimez= undefined
deoptional2
vous, vous ne verrezoptional1
qu'être facultatif, ce qui est bien sûr absurde, donc la valeur par défaut ici doit être explicite, comme je l'ai mentionné dans le paragraphe ci-dessus.la source