多个vars的JSDoc类型

时间:2014-04-26 08:47:49

标签: javascript webstorm jsdoc

我正在编写一个JavaScript模块,我想为它编写一个很好的JSDoc。我在单个var(var x = 1, y = functionA;等)中定义了多个变量。其中一个变量包含一个函数引用(可能只有3个选项)。

现在我的问题:有没有办法像上面那样记录它,以便我的IDE(WebStorm)也识别变量类型(atm。我在为这个变量分配其他函数引用时收到警告)?

2 个答案:

答案 0 :(得分:4)

尝试使用内联文档评论,例如:

var /**Number*/ num = 1, /**String*/ str = "";

答案 1 :(得分:0)

这是正确的JSDoc语法,它在Webstorm中可以正常工作以进行自动完成和类型检查:

let 
    /** @type {Number} */ someNumber, 
    /** @type {String} */ someString;

尝试将字符串设置为someNumber并看到Webstorm抱怨它:

enter image description here

对于函数,您还可以指定其参数及其返回值。例如:

/** @type {function(Number, String): Number[]} */

是一个函数,它接收一个数字作为第一个参数,一个字符串作为第二个参数并返回一个数字数组。

注意:虽然它对自动完成非常有效,但是目前Webstorm无法对函数进行类型检查。例如,它允许我这样做:

enter image description here