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



当从工厂函数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?这可能吗?

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

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

查看新操作员的文档。