Laut dem JSDoc-Wiki für @param können Sie angeben, dass ein @param optional ist
/**
@param {String} [name]
*/
function getPerson(name) {
}
und Sie können einen Parameter inline mit angeben
function getPerson(/**String*/ name) {
}
Und ich kann sie wie folgt kombinieren, was in Ordnung funktioniert.
/**
@param [name]
*/
function getPerson(/**String*/name) {
}
Aber ich würde gerne wissen, ob es eine Möglichkeit gibt, alles möglichst inline zu erledigen.
javascript
google-closure-compiler
jsdoc
studgeek
quelle
quelle
Nach einigem Ausgraben fand ich, dass diese auch in Ordnung sind
Nur optisch etwas ansprechender als
function test(/**String=*/arg) {}
quelle
Ich habe einen Weg gefunden, dies mit Ausdrücken vom Typ Google Closure Compiler zu tun . Sie setzen ein Gleichheitszeichen nach dem Typ wie folgt:
function test(/**String=*/arg) {}
quelle
Für den Fall, dass Sie Inline-Typkommentare zu Funktionsargumenten verwenden und sich fragen, wie ein Funktionsargument in dieser Notation als optional markiert werden kann, habe ich festgestellt, dass nur das Zuweisen von Standardwerten zu den optionalen Argumenten funktioniert. Wenn Sie möchten, dass der Standardwert ebenfalls
undefined
explizit festgelegt wird, wird das Argument andernfalls nicht als optional markiert (auch wenn bereits optionale Argumente vorangestellt sind):Wenn Sie
demo
in Ihrer IDE mit der Maus darüber fahren, sollten Sie beide sehenoptional1
undoptional2
jetzt als optional angezeigt werden. In VSCode wird dies durch angezeigt?
den Argumentnamen (TypeScript-Notation) . Wenn Sie entfernen= undefined
ausoptional2
Sie nur sehen,optional1
optional ist, was natürlich Unsinn ist so hier der Standardwert muss eindeutig sein , wie ich im obigen Absatz erwähnt.quelle