使用JSDoc注释通用ES6类

时间:2017-12-19 14:34:53

标签: javascript templates generics jsdoc

我想用JSDoc记录一个类似于通用地图的数据结构。首先,请注意,此结构扩展Map

更普遍的问题是:如何正确地注释通用ES6类构造?

请考虑以下代码。标记的注释部分会在注释中产生错误。

/** @type {MyMap<string, number>} */
//         ^^^^^^^^^^^^^^^^^^^^^ [js] Type 'MyMap' is not generic.
const map = new MyMap();

这是MyMap

的定义
// @ts-check

/**
 * @template K, V
 */
class MyMap {
  constructor() {
    this._map = new Map();
  }
}

我需要做什么才能将MyMap视为通用类型?如何将KV公开为结构的泛型类型?

(注意:我使用Visual Studio Code通过在我的JavaScript文件的顶部添加// @ts-check来验证注释。)

0 个答案:

没有答案