Как вернуть пустоту в JsDoc?
Есть ли способ объявить метод или функцию для возврата void в JsDoc? В настоящее время я полагаю, что void
- это возвращаемое по умолчанию значение, и должны быть указаны другие возвращаемые значения:
/**
* @return {Integer} The identifier for ...
*/
Ответы
Ответ 1
Я не считаю, что вам нужно выбирать из набора типов в JsDoc... вы можете использовать любое имя типа, которое вы хотите (фигурные скобки указывают на тип), поэтому вы можете просто сделать:
@return {Void}
Хотя, вероятно, это более корректно для JavaScript:
@return {undefined}
Ответ 2
Компилятор Closure
В соответствии с документацией компилятора Google Closure, если ничего не возвращается, аннотация @return следует опустить.
Если нет возвращаемого значения, не используйте тег @return.
Источник: https://developers.google.com/closure/compiler/docs/js-for-compiler#tags
JSDoc-инструментарий
Однако в дополнительной документации также указано, что returnType и returnDescription являются необязательными параметрами.
returnType - Необязательно: тип возвращаемого значения.
returnDescription - Необязательно: любое дополнительное описание.
Источник: https://code.google.com/p/jsdoc-toolkit/wiki/TagReturns
Резюме
Вы можете либо оставить аннотацию возврата, либо включить ее без каких-либо параметров.
Ответ 3
Глядя на документы ESlint, они используют
@returns {void}
Источник: http://eslint.org/docs/rules/valid-jsdoc
Так как мне нужно предоставить @returns
для каждой функции, чтобы проходить тесты, чтобы нажимать код для определенных проектов, это требуется в моем случае.
Ответ 4
Если вам нужно сказать вслух, что ничего не возвращается, вы можете сказать, что в описании свободной формы. Это полезно для выяснения ситуаций, когда пользователь может ожидать, что что-то будет возвращено. Разумеется, правильное присвоение имени функции и параметров должно сделать очевидным тип ожидаемого возврата, но это может быть не всегда возможно.
/**
* This is a funny function. Returns nothing.
* @param {string} a joke.
*/
var funny = function (joke) {
console.log(joke);
};