2011-05-03 13 views
62

Według wiki JSDoc dla @param można wskazywać na @param jest opcja korzystaniaJak wskazać parametr jest opcjonalny za pomocą wbudowanego JSDoc?

/** 
    @param {String} [name] 
*/ 
function getPerson(name) { 
} 

i można wskazać param inline użyciu

function getPerson(/**String*/ name) { 
} 

I mogę połączyć je jak poniżej, które działa dobrze.

/** 
    @param [name] 
*/ 
function getPerson(/**String*/name) { 
} 

Ale chciałbym wiedzieć, czy istnieje sposób, aby zrobić to wszystko w linii, jeśli to możliwe.

Odpowiedz

40

Znalazłem sposób, aby to zrobić za pomocą Kompilatora zamykania Google type expressions. Można umieścić znak równości po rodzaju tak: function test(/**String=*/arg) {}

+8

WebStorm/IntellIDEA obsługuje tę notację –

+2

Tak, więc myślę, że uzyskał wystarczająco akceptacja aby oznaczyć go jako odpowiedź . – studgeek

+4

@PeterAronZentai, dodam WebStorm/IntelliIDEA obsługuje go w wyniku wprowadzenia do mnie żądania funkcji :). Obsługują teraz większość wyrażeń typu kompilatora zamknięć Google, co jest świetne. – studgeek

47

Po pewnym wykopaniu znalazłem te są w porządku, jak również

/** 
* @param {MyClass|undefined} 
* @param {MyClass=} 
* @param {String} [accessLevel="author"] The user accessLevel is optional. 
* @param {String} [accessLevel] The user accessLevel is optional. 
*/ 

tylko nieco bardziej atrakcyjne wizualnie niż function test(/**String=*/arg) {}

+7

Są one ważne (i udokumentowane w pomocy JSDoc), ale nie są ** inline ** - czego właśnie szukałem. – studgeek

+0

Pytanie dotyczy inline notacji JSDoc. To jest interesująca informacja, ale nie odpowiada na pytanie: –

41

Od official documentation:

Opcjonalny parametr

Opcjonalny parametr o nazwie foo.

@param {number} [foo] 
// or: 
@param {number=} foo 

Opcjonalny parametr foo o wartości domyślnej 1.

@param {number} [foo=1] 
+2

Pytałem, jak to zrobić w trybie online. Podany przykład wydaje się być taki sam, jak pokazałem w moim pytaniu. – studgeek

Powiązane problemy