Javascript 如何在JSDoc中指定类的类型(而不是它的实例)

Javascript 如何在JSDoc中指定类的类型(而不是它的实例),javascript,jsdoc,Javascript,Jsdoc,我有以下课程: class Model { static get schema() { } // static property 'schema' } class CustomModel_1 extends Model { } . . . class CustomModel_N extends Model { } 我想声明一个新函数,其参数指定了一种模型类型(不是此类型的实例): /** *@param{Model}ModelType您可能希望尝试以下方法: /** * @para

我有以下课程:

class Model { 
  static get schema() { }   // static property 'schema'
}
class CustomModel_1 extends Model { }
. . .
class CustomModel_N extends Model { }
我想声明一个新函数,其参数指定了一种模型类型(不是此类型的实例):

/**

*@param{Model}ModelType您可能希望尝试以下方法:

/**
 * @param {Model.constructor} ModelType
 */
function doSomething(ModelType) {
  // ...
}
也就是说,您可以通过对象的
constructor
属性引用对象(本质上是类)的构造函数,该属性是任何JavaScript对象的内置属性

根据您的环境,您可能还希望尝试以下操作:

/**
 * @param {typeof Model} ModelType
 */
JSDoc使用的支持此类型表达式,尽管我个人没有使用此表达式,因为我的工具链的一部分不支持此特定语法


还可以看到这一点,这是最终在VSCode中对我有效的解决方案。

感谢您的回答。不幸的是,WebStorm不支持这两种解决方案。最终,我能够使用这个插件满足VSCode(及其Intellisense Typescript检查器)和jsdoc:它将{typeof Foo}语法转换为{Class},就像它被传递给jsdoc一样。
/**
 * @param {typeof Model} ModelType
 */