【问题标题】:How to JsDoc a "mixed" type?如何将 JsDoc 变成“混合”类型?
【发布时间】:2011-06-22 00:13:49
【问题描述】:

简单的问题,我如何记录“混合类型”?我知道我可以列出所有可能的类型,例如{null|undefined|String|Number|Object},最终发现自己缺少一个并使其过于复杂。我尝试使用 Mixed 关键字,但它在许多 IDE(例如 WebStorm)中弹出错误。

【问题讨论】:

    标签: parameters mixed jsdoc


    【解决方案1】:

    我找到了方法:

    /**
     * @param {*} foo
     */
    function bar(foo) {}
    

    【讨论】:

    【解决方案2】:

    使用{}

    有一个来自http://usejsdoc.org/tags-type.html的例子:

    一个名为“myObj”的对象,其属性为“a”(数字)、“b”(a 字符串)和'c'(任何类型)

    {{a: number, b: string, c}} myObj
    // or:
    {Object} myObj
    {number} myObj.a
    {string} myObj.b
    {} myObj.c
    

    【讨论】:

      【解决方案3】:

      在 JSDoc 中,您可以用不同的方式描述值。例如,使用以下标签@type@param@return。 您可以使用“?”指定可选值。这是一个例子

          /**
           * Returns string or null
           *
           * @param {?string} nullableStringArgument
           *
           * @return {?string}
           */
          function returnNullableString (nullableStringArgument = null) {
              /** @type {?string} */
              const nullableString = [null, 'string'][Math.floor(Math.random() * 2)];
      
              return nullableString;
          }
      

      【讨论】:

        猜你喜欢
        • 2013-05-22
        • 2020-04-02
        • 2017-05-02
        • 1970-01-01
        • 2016-07-13
        • 2019-06-11
        • 2014-06-12
        • 1970-01-01
        • 2017-03-18
        相关资源
        最近更新 更多