JS 文档:将函数参数定义为 class 的实例

JS documentation: Define function parameter as instance of a class

假设有一个函数具有参数 element.

/**
 * Function's description ...
 * 
 * @param {*} element 
 * Element description ....
 * 
 * @returns {Boolean}
 * Result description ....
 */
function myFunction(element) {
    return true;
}

参数 element 需要是 (custom) class MySpecialButton 的实例。 这样 if( element instanceof MySpecialButton) 就会 return true.

class MySpecialButton{
    constructor(){
    }
    // Methods ...
}

所以我尝试通过输入 class 名称来定义参数 element

 * @param {MySpecialButton} element 
 * Element description ....

但是当我在 Visual Studio 代码中输入函数时,帮助显示 any.

myFunction(element: any): boolean

那么如何将函数参数定义为 javascript class 的实例? class MySpecialButton 和上面提到的函数不是在同一个JS文件中定义的。

先导入 class,然后你就可以在 JSDoc 中引用它了:

// MySpecialButton.js

module.exports = class MySpecialButton{
    constructor(){
    }
    // Methods ...
}

const MySpecialButton = require('./MySpecialButton');
/**
 * Function's description ...
 * 
 * @param {MySpecialButton} element 
 * Element description ....
 * 
 * @returns {Boolean}
 * Result description ....
 */
function myFunction(element) {
    return true;
}