Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么VS代码显示JSDoc中var的类型信息,而不显示JavaScript中其他成员的类型信息?_Javascript_Visual Studio Code_Intellisense_Jsdoc - Fatal编程技术网

为什么VS代码显示JSDoc中var的类型信息,而不显示JavaScript中其他成员的类型信息?

为什么VS代码显示JSDoc中var的类型信息,而不显示JavaScript中其他成员的类型信息?,javascript,visual-studio-code,intellisense,jsdoc,Javascript,Visual Studio Code,Intellisense,Jsdoc,Visual Studio代码中的以下intellisense差异让我感到困惑: function ExampleModule() { /** @type { string } */ this.myMember; // tooltip shows 'any' /** @type { string } */ var mySecondMember; // tooltip shows 'string' } 我想通过JSDoc将类型信息添加到我的模块中,这在某些情况

Visual Studio代码中的以下intellisense差异让我感到困惑:

function ExampleModule() {

    /** @type { string } */
    this.myMember; // tooltip shows 'any'

    /** @type { string } */
    var mySecondMember; // tooltip shows 'string'
}
我想通过JSDoc将类型信息添加到我的模块中,这在某些情况下很有效,比如方法签名,显然它适用于使用
var
关键字声明的变量,但如果我将成员添加到我的对象中(如
this
关键字所示),则不起作用

我已经查看了文档,但它们似乎没有解释为什么
this.myMember
不生成intellisense信息


是否有任何方法可以改进显示的成员类型信息,或者是否存在有关支持的语言构造的更详细信息?

类表示法不是这样工作的。 首先定义复合类型,然后将其用于变量。 我不知道你是否能定义“这个”类型

/**
 * @typedef {Object} ExempleModule
 * @property {string} myMember
 */

/** @type {ExempleModule} */