JavaScript注释文档(JSDoc):@memberOf也应该指定“原型”

JavaScript annotated documentation (JSDoc): should @memberOf specify "prototype" as well?

本文关键字:也应该 原型 @memberOf 文档 注释 JSDoc JavaScript      更新时间:2023-09-26

示例:

/**
 * @constructor
 * @Returns {AStar}
 */
function AStar() {

};
/**
 * @public
 *
 * Should this be:
 * @memberOf {AStar.prototype}
 * Or: 
 * @memberOf {AStar}
 *
 * @param {Number} startX
 * @param {Number} startY
 * @param {Number} destinationX
 * @param {Number} destinationY
 * @returns {Path}
 */
AStar.prototype.getPath = function(startX, startY, destinationX, destinationY) {
//(...)
};

对于添加到 AStar 原型中的函数"getPath",如上面截取的代码所示,"getPath"函数上的注释文档是否应指定:

@memberOf {AStar.prototype}

@memberOf {AStar}

JavaScript 代码将getPath声明为AStar对象的方法。如果您不提供@memberOf标记,jsdoc 能够自行确定这一点:文档列出了getPath作为AStar对象的方法。因此,您无需使用您在问题中引用的任何@memberOf选项。

此外,在您的问题中的特定情况下,jsdoc 不会使用您的 @memberof 标签,除非您使用带有感叹号的表单@memberof!。没有标记的表单可以被 jsdoc 忽略,如果它认为它比你更了解该方法的成员。带有感叹号的表单迫使 jsdoc 不要忽略它。因此,要对文档产生影响,您必须使用 @memberof! .