JsDocs:如何记录工厂函数中的方法?

JsDocs: How do you document methods in a factory function?

当从工厂函数 Car() 创建对象时,我无法让 JsDoc 文档显示在对象的 (car) 方法 (car.drive()) 上。这是在 VSCode.

工厂函数:

/**
 * Creates car object
 * @param {Sting} model name of
 *
 * @returns {Object} car object
 */
function Car(model) {
  this.model = model;

  /**
   * Makes the car drive
   * @param {String} speed speed of car
   */
  this.drive = (speed) => {
    console.log(`Car is moving at ${speed} miles per hour`);
  };
  return this;
}

当我将鼠标悬停在 car.drive() 上时,它不显示 JSDoc。它只显示 Any.

const car = Car({}); // JsDocs for Car show up here
car.drive() // JsDocs for the drive method don't show up here

如何在 Car 中记录 this.drive,以便在 car.drive() 中查看 JSDoc?这可能吗?

VS Code 可以识别 JavaScript 文件中的 JSDoc 文档。 这里唯一缺少使它工作的是 Car 是一个构造函数而不是一个函数。如果要初始化 Car 的新对象,则应使用代码

var car = new Car({});
car.drive();

查看 new 运算符的文档。