JSDoc объявляется с
/**
.
PS:
Для передачи литералов логического типа нужно писать
boolean
, а для callback-ов синтаксис function().
@param {function(this:String, number, string): number}
@param {function(new:goog.ui.Menu, string)}
Опциональность параметров показывает знак =
@param {string=}
@param {(number|Object)=}
Также следует помнить об отношении к null:
string, number, boolean, function - не null по умолчанию, можно использовать модификатор ?, например, ?boolean, т.е. boolean|null
Все объекты, например, String, Function могут быть null, а чтобы запретить такое поведение нужно использовать модификатор !, например, !Function
Если примитив задаётся как объект, то название пишется с заглавной буквы,
т.е. для new Boolean нужно писать Boolean, а для true - boolean.
дока
дока 2
дока 3