JSDoc:将类型分配给内联变量

时间:2019-01-16 20:34:25

标签: javascript webstorm jsdoc

我可以为从第三方库获得object结果的变量分配类型吗?

const result = thirdPartyLib.doSomething();

现在我可能有一个ES6课程

class MyClass {
  ...
}

我想将result注释为MyClass类型。

使用JSDoc是否可能?

1 个答案:

答案 0 :(得分:2)

JSDoc @type {…} tag可以应用于局部变量以声明其类型。

/** @type {MyClass} */
const result = thirdPartyLib.doSomething();

screenshot of WebStorm editor showing type-driven autocompletions after adding this tag

但是,您可以使用@external tag将JSDoc类型添加到thirdPartyLib.doSomething()中,而不是在调用函数的所有位置添加此声明,从而可以正确推断局部变量类型。

/**
 * @external thirdPartyLib
 */
/**
 * @function external:thirdPartyLib.doSomething
 * @returns {MyClass}
 */

const result = thirdPartyLib.doSomething();