Zgodnie z wiki JSDoc dla @param możesz wskazać, że @param jest opcjonalne, używając
/**
@param {String} [name]
*/
function getPerson(name) {
}
i możesz wskazać parametr w tekście, używając
function getPerson(/**String*/ name) {
}
I mogę je łączyć w następujący sposób, co działa dobrze.
/**
@param [name]
*/
function getPerson(/**String*/name) {
}
Ale chciałbym wiedzieć, czy jest sposób, aby zrobić to wszystko w linii, jeśli to możliwe.
javascript
google-closure-compiler
jsdoc
studgeek
źródło
źródło
Po pewnym odkopaniu stwierdziłem, że te również są w porządku
Tylko nieco bardziej atrakcyjny wizualnie niż
function test(/**String=*/arg) {}
źródło
Znalazłem sposób, aby to zrobić, używając wyrażeń typu Google Closure Compiler . Po takim typie umieszczasz znak równości:
function test(/**String=*/arg) {}
źródło
Jeśli używasz komentarzy typu inline do argumentów funkcji i zastanawiasz się, jak oznaczyć argument funkcji jako opcjonalny w tej notacji, stwierdziłem, że po prostu przypisanie wartości domyślnych do opcjonalnych argumentów zadziałało. Jeśli chcesz, aby wartość domyślna była taka
undefined
, musisz ustawić ją również jawnie, w przeciwnym razie argument nie zostanie oznaczony jako opcjonalny (nawet jeśli był poprzedzony już opcjonalnymi argumentami):Jeśli najedziesz kursorem na
demo
swoje IDE, powinieneś zobaczyć zarównooptional1
ioptional2
pojawić się jako opcjonalne teraz. W VSCode jest to oznaczone?
po nazwie argumentu (notacja TypeScript). Jeśli usuniesz= undefined
zoptional2
siebie, zobaczysz tylkooptional1
bycie opcjonalnym, co jest oczywiście nonsensem, więc wartość domyślna tutaj musi być wyraźna, jak wspomniałem w powyższym akapicie.źródło