【问题标题】:JsDocs: How do you document methods in a factory function?JsDocs:您如何记录工厂函数中的方法?
【发布时间】:2020-10-16 01:11:19
【问题描述】:

当从工厂函数 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() 上时,它不会显示 JSDocs。它只显示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() 上看到JSDocs?这可能吗?

【问题讨论】:

  • 不清楚您将鼠标悬停在car.drive() 上的哪个位置。是在 VS 代码里吗?
  • 是的,在 vscode 中,我将它悬停在“驱动器”上。我更新了帖子以添加它现在是 vscode。
  • 嗯,它现在的工作出乎意料。在某些文件中它有效,在某些文件中则无效。它在打字时也有效,但有时在悬停时无效。所以看起来这与 VSC 相关,而不是文档。
  • 它在某些文件中工作,因为我初始化它 Car 不同。见@mylee 的回答

标签: javascript visual-studio-code documentation jsdoc


【解决方案1】:

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

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

查看new 运算符的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多