【问题标题】:Javascript documentation: Returns null or typeJavascript 文档:返回 null 或类型
【发布时间】: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

那么如何在我的文档中添加返回 undefinednull 的内容?

编辑: 添加另一个测试功能。 请注意,这些示例是测试函数,没有任何意义。

     /**
     * 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


【解决方案1】:

你所拥有的应该可以正常工作

/**
 * 
 * @param value
 * @returns {string|undefined}
 */
function nullOrString(value) {
  // ...
}

不需要括号,但这没关系,我认为你会想要一个小写字符串而不是字符串。

【讨论】:

  • Visual Studio 代码说:nullOrString(value: any): string @returns
  • 直接写@returns {?string}可以吗?
猜你喜欢
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多