【发布时间】:2020-12-08 17:42:55
【问题描述】:
我有一个 js 类的函数,它可以返回一个字符串或undefined。现在我想将return 语句插入到函数的文档中。
/**
* Test documentation.
*
* @param {(String|Number)} value - A String or a number containing a number.
*
* @returns {(String|undefined)} - Returns a String or undefined.
*/
nullOrString(value) {
// ...
}
但是当我调用函数时,return 语句的文档只返回String 而不是(String | undefined)。
我还尝试使用null 而不是undefined,因为默认情况下,所有没有return 语句的函数都会返回undefined。
那么如何在我的文档中添加返回 undefined 或 null 的内容?
编辑: 添加另一个测试功能。 请注意,这些示例是测试函数,没有任何意义。
/**
* Test documentation function.
*
* @param {(String|Number)} input - Input String.
*
* @returns {null|undefined} - Returns null when input is numeric, otherwise returns undefined.
*/
undefinedOrNull(input) {
if (!isNaN(parseFloat(input))) return null;
return undefined;
}
Visual Studio 代码返回:
undefinedOrNull(输入:字符串|数字):null
输入字符串。
测试文档功能。
@returns — - 当输入为数字时返回 null,否则返回 undefined。
【问题讨论】:
-
你所拥有的是正确的(除了
String | undefined周围的()没有任何理由)。您看到什么表明返回类型不是您为它定义的? JSDoc 具体告诉你什么(复制和粘贴)?另外,函数的内容是什么样的?一些工具足够聪明,可以优化类型,尽管对于明确列出的类型,我希望这样的工具会在函数定义上给你一个警告,而不是你在哪里调用它。 -
因此请确保您实际返回 null。也许你总是返回字符串?
-
(旁注:
nullOrString是一个奇怪的名称,用于为您提供undefined或字符串的方法...... ;-)) -
问题已编辑。
标签: javascript jsdoc