自定义对象的JavaScript文档

时间:2017-04-04 10:29:08

标签: javascript object documentation visual-studio-code

这是关于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;
}

1 个答案:

答案 0 :(得分:0)

我明白了,我只需要使用@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
};