使用 JSDoc 设置 ES5 类的属性类型

Tom*_*ica 5 javascript javascript-intellisense visual-studio-community visual-studio-2017

我有一个具有属性的类:

class MyClass {
    constructor() {
        this.property = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

该属性可以是null一个Array实例。我试过这个:

/**
 * @property property {Array}
 */
class MyClass ...
Run Code Online (Sandbox Code Playgroud)

这:

/**
 * @property MyClass.property {Array}
 */
class MyClass ...
Run Code Online (Sandbox Code Playgroud)

和这个:

class MyClass {
    /**
     * @property property {Array}
     */
    constructor() ...
Run Code Online (Sandbox Code Playgroud)

我仍然在智能感知中看到这一点:

<code>(属性)MyClass.property:任意</code>

那么谁能告诉我如何正确地做到这一点?

Tom*_*ica 3

到目前为止,最好的方法是:

class MyClass {
    constructor() {
        /** @type {MyClass2} **/
        this.property = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

它仍然存在一些问题,但大多数时候它都可以工作。