如何在 jsdoc 中描述“对象”参数?
在 JSDoc 中有多种不同的方式来描述“对象”参数。在本文中,我们将研究 4 种不同的方式,每种方式都有自己的用途。
- 要记录具有指定属性的对象:
句法:
/** * @param {{a: string, b: number}} Obj description */
对于仅用作给定方法的参数而不需要每个属性的进一步文档的对象,此语法是一种很好的做法。这也可以用于@returns 。
例子:
GeeksforGeeks GeeksforGeeks
输出:
前:
后: - 要记录具有指定属性的对象(类型 2):
句法:
/** * @param {Object} Obj Description * @param {string} Obj.a Description * @param {number} Obj.b Description */
对于仅用作给定方法的参数并且需要进一步记录每个属性的对象,此语法是一种很好的做法。这不能用于@returns 。
例子:
GeeksforGeeks GeeksforGeeks
输出:
前:
后: - 要记录将在源中多次使用的对象:
@typedef在这种情况下很有用。一旦在源代码中定义了类型,您就可以将其用作 JSDoc 标记的类型,例如使用type的@param或@returns 。句法:
/** * @typedef {Object} Person * @property {number} age Length of time the person has lived * @property {string} name The word by which the person is addressed */
也可以在@param 标签中使用:
句法:
/** * @param {Person} p - Description of p */
也可以在@returns 标签中使用:
句法:
/** * @returns {Person} Description */
例子:
GeeksforGeeks
输出:
前:
后: - 要记录具有相同类型值的对象:
句法:
/** * @param {Object.} Dict */
对于值都是相同类型的对象,此语法是一种很好的做法。在这种情况下,第一种类型即字符串描述了始终保持为字符串类型的 JavaScript 属性(键)的类型。第二种类型即数字描述了值的类型,可以是任何类型。
这也可以用于@returns 。