JavaScript 自定义对象的文档

JavaScript Documentation of Custom Object

这是一个纯粹的 documentation 相关问题,关于 JavaScript。 我想创建一个 Object,它的一些字段将是其他 Objects,并在文档中说明。 (我正在使用 Visual Studio 代码)。

这是一个简单的对象声明示例。

/**
 * @type {Object.<string, number>}
 */
var User = {
    name,
    id
};

文档中的内容应如下所示:

var User = {
    name: string;
    id: number;
}

这是一个更高级的例子。一些对象字段实际上是用户对象

/**
 * @type {Object.<string, User>}
 */
var Message = {
    text,
    from
};

文档中应该是这样的:

var Message = {
    text: string;
    from: {
        name: string;
        id: number;
    };
}

这也是可以接受的:

var Message = {
    text: string;
    from: User;
}

但是 Visual Studio Code 显示:

var Message = {
    text: string;
    from: any;
}

我明白了,我只需要使用 @typedef

通过使用 @typedef,您可以创建自定义类型定义,因此要创建自定义 Object,您只需执行 @typedef {{}}。并在其中添加所有属性。一旦定义了类型,那么你也可以在另一个@typedef.

中使用它

所以下面的评论创建了两个新类型。

/**
 * @typedef {{ name: string, id: number }} User
 * @typedef {{ text: string, from: User }} Message
 */

现在我只需要分别添加@type {User}@type {Message}

/** @type {User} */
var User = {
    name,
    id
};

/** @type {Message} */
var Message = {
    text,
    from
};