【问题标题】:VSCode JSDoc - define dynamic property typeVSCode JSDoc - 定义动态属性类型
【发布时间】:2020-01-10 03:24:38
【问题描述】:

我有一个从一些外部代码扩展类的类。在我的“构造函数”中,我设置了一个字段,父级用于进行 API 调用,完成后,结果将存储在 data 属性中(可通过 this.data 从我的类实例访问)。

如何通过 JSDoc cmets 告诉 VSCode this.data 的结构是什么?我实际上创建了从 API 调用返回的数据结构,所以我知道它。我的代码中有@typedefs,但我似乎无法正确地告诉班级this.data 的样子。

我能做到的最好的工作如下:

class a extends b {
    render() {
        const stuff = /** @type {Stuff} */ (this.data).stuff[1].thing;
    }
}

这种方法的问题在于它只适用于this.data 的特定用法。

【问题讨论】:

    标签: javascript visual-studio-code jsdoc


    【解决方案1】:

    在玩了一些之后,似乎最简单的事情就是在我的类“构造函数”(init 方法)中将this.data 初始化为一个空字符串。在该初始化之上,我使用@type 来定义它的结构。我真的不想添加错误的代码来实现这一点,但我想这并不过分。

    /** @type {{FOCUS_NOTES: FOCUS_NOTES}} */
    this.data = "";
    

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 2020-03-30
      • 2020-04-17
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多