@use JSDoc

同义词

概述

@property 标记是一种轻松记录类、命名空间或其他对象的静态属性列表的方法。

通常,JSDoc 模板会创建一个全新页面来显示有关嵌套命名空间层次结构的每个级别的信息。有时,您真正想要的是将所有属性(包括嵌套属性)全部列在同一页面上。

请注意,属性标记必须用于它们是属性的对象的文档注释中,例如命名空间或类。此标记适用于静态属性的简单集合,它不允许您为每个属性提供 @examples 或类似的复杂信息,只能提供类型、名称和说明。

示例

在此示例中,我们有一个名为“config”的命名空间。我们希望有关 defaults 属性的所有信息(包括其嵌套值)与 config 的文档一起显示在同一页面上。

具有 defaults 和嵌套默认属性的命名空间
/**
 * @namespace
 * @property {object}  defaults               - The default values for parties.
 * @property {number}  defaults.players       - The default number of players.
 * @property {string}  defaults.level         - The default level for the party.
 * @property {object}  defaults.treasure      - The default treasure.
 * @property {number}  defaults.treasure.gold - How much gold the party starts with.
 */
var config = {
    defaults: {
        players: 1,
        level:   'beginner',
        treasure: {
            gold: 0
        }
    }
};

以下示例演示如何指示属性是可选的。

具有必需和可选属性的类型定义
/**
* User type definition
* @typedef {Object} User
* @property {string} email
* @property {string} [nickName]
*/