javascript - 使用 JSDoc 3 语法指定对象类的正确方法是什么?

标签 javascript jsdoc3

如果我的代码创建了一个 pre-ecmascript 6 样式的“类”,即像这样的构造函数:

function MyDBPlugin() {
    // ...
}

我正在使用 JSDoc3计划记录另一个采用 MyDBPlugin 实例作为参数的函数,我如何表示 MyDBPlugin 对象?
我的第一个猜测是:

/**
 * Some function which takes an instance of MyDBPlugin as an argument
 *
 * @param {Object} plugin An instance of the MyDBPlugin class
 */
function query_database(plugin) {
    // ...
}

但是 {Object} 似乎信息量很小,似乎使用类名 {MyDBPlugin} 会更具描述性,例如:

/**
 * Some function which takes an instance of MyDBPlugin as an argument
 *
 * @param {MyDBPlugin} plugin An instance of the MyDBPlugin class
 */
function query_database(plugin) {
    // ...
}

如何在 JSDoc 语法中表示 MyDBPlugin 对象?

最佳答案

来自文档:http://usejsdoc.org/tags-type.html

如果它是一个类,您可以直接使用它:

/**
* @param {myNamespace.MyClass}
*/

如果是结构体,您可以创建自己的@typedef http://usejsdoc.org/tags-typedef.html并以与上面或您提到的相同的方式使用它:

/**
* Some function which takes an instance of MyDBPlugin as an argument
*
* @param {MyDBPlugin} plugin An instance of the MyDBPlugin class
*/
function query_database(plugin) {
  // ...
}

关于javascript - 使用 JSDoc 3 语法指定对象类的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43492597/

相关文章:

javascript - 从中间缩放矩形对象——fabricjs

函数内的javascript函数表达式

javascript - 我如何 JSDoc 嵌套对象的方法?

mongoose - 使用 jsdoc 记录 mongoose 模型方法

javascript - 如何在自调用函数中记录简单类?

javascript - Electron 加载远程URL和加载本地文件

javascript - .removeEventListener 存在问题。我无法将其从 HTML 元素列表中删除

javascript - 为什么innerHTML 替换不运行?

node.js - 返回的类实例的 JSDoc 类型

javascript - 记录中间功能可选参数