JSDoc:在另一个@param 中引用方法的@param

Sum*_*ron 10 javascript jsdoc jsdoc3

我是使用 JSDocs 的新手,找不到这个问题的答案。

假设我想编写这个简单的函数:

function hasQ(array, item) {return array.includes(item);}
Run Code Online (Sandbox Code Playgroud)

使用 JSDoc,我会标记为:

/**
* Another way to call array.includes(item);
* @param {Array} array
* @param {*} item to test if contained in array
* @returns
*/
Run Code Online (Sandbox Code Playgroud)

有没有办法让我array在第二个@param语句中标记这个词,使其引用第一个@param

这只是一个玩具示例,但我希望它使概念清晰。

Bab*_*bak 7

交叉引用参数

@param我所知,没有办法交叉引用参数。正如此处建议的,您可以使用简单的英语。

作为部分解决方案,您可以使用 Markdown 的反引号来突出显示名称param(如此处所述,例如:

/**
 * @param {*} item to test if contained in `array`
 */
Run Code Online (Sandbox Code Playgroud)

旁注:参考外部

我想这里有一个内联资源的概念@linkexternalJSDoc会很有用。您可以在描述中明确说明,例如您谈论includes的功能Array

/**
* Another way to call [Array's includes function]{@link external:Array#includes}
* @param {Array} array
* @param {*} item to test if contained in array
* @returns
*/
function hasQ(array, item) {
    return array.includes(item);
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您更喜欢不带 的链接,只需删除第一行中的text部分即可:[]

/**
 * Another way to call {@link external:Array#includes}
 */
Run Code Online (Sandbox Code Playgroud)

阅读更多

如果您有兴趣阅读更多内容:


Val*_*cha -2

我没有看到编写相关参数的可能性(但请参阅带有属性的参数)。但你可以写描述;)

/**
 * @method
 * @param {Array} array - description for this param
 * @param {*} item - description for this param
 * @description Please write your description for Method
 * @returns {*|boolean}
 */
const hasQ = (array, item) => array.includes(item);
Run Code Online (Sandbox Code Playgroud)