javascript – WebStorm中JSDoc的options参数属性:“未解析的变量”

我有一个jsdoc注释的函数,类似于我的代码中的以下内容:

/**
 * Foo function
 * @param {Object} [options]
 * @param {String} [options.foo]
 */
var foo = function (options) {
    if (!options) options = {};
    var foo = options.foo || 'foo';
    // ...
};

我的IDE WebStorm将options.foo标记为“未解析的变量”.如果我删除了jsdoc注释,则警告消失.如何以WebStorm获取提示并且不再显示此警告的方式记录此功能?

我试过的事情:

>删除@param {String} [options.foo]
> @param {?String} [options.foo]
> @param {String} options.foo
> if(!options)options = {foo:’bar’};
>最后两个合并.

这是一个错误还是我错过了什么? WebStorm似乎理解options.foo param定义,因为if(!options)options = {foo:42};发出警告,指出的类型不是String.

我正在使用WebStorm 7.0.

解决方法:

Webstorm的文档链接到jsdoc 3.使用jsdoc 3,我会像这样记录你的对象:

@param {{foo: string}} options

您尝试这样做的方式意味着函数签名,如函数(options,options.foo).

有关如何记录类型的信息可用于here.

上一篇:javascript – jsdoc别名方法名称


下一篇:POJ 2186 Popular Cows (korasaju 算法)