Как указать, что param является необязательным с помощью встроенного JSDoc?
согласно Вики JSDoc для @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 выражения типа. Вы ставите знак равенства после типа так:
function test(/**String=*/arg) {}