Как указать, что param является необязательным с помощью встроенного JSDoc?
согласно JSDoc wiki для @param вы можете указать, что @param является необязательным с помощью
/**
@param {String} [name]
*/
function getPerson(name) {
}
и вы можете указать param inline используя
function getPerson(/**String*/ name) {
}
и я могу объединить их следующим образом, который работает нормально.
/**
@param [name]
*/
function getPerson(/**String*/name) {
}
но я хотел бы знать, есть ли способ сделать все это встроенным, если это возможно.
3 ответа:
необязательный параметр
необязательный параметр с именем foo.
@param {number} [foo] // or: @param {number=} foo
необязательный параметр Foo со значением по умолчанию 1.
@param {number} [foo=1]
после некоторых раскопок я обнаружил, что они тоже в порядке
/** * @param {MyClass|undefined} * @param {MyClass=} * @param {String} [accessLevel="author"] The user accessLevel is optional. * @param {String} [accessLevel] The user accessLevel is optional. */
чуть более визуально привлекательным, чем
function test(/**String=*/arg) {}
Я нашел способ сделать это с помощью Google Closure Compiler выражения типа. Вы ставите знак равенства после типа вот так:
function test(/**String=*/arg) {}