如何将JsDoc称为“混合”类型?

时间:2011-02-05 19:47:59

标签: parameters mixed jsdoc

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

3 个答案:

答案 0 :(得分:56)

我找到了办法:

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

答案 1 :(得分:2)

使用 {}

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

  

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

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

答案 2 :(得分:0)

在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;
    }