2017-04-04 82 views
0

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

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

/** 
* @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; 
} 

回答

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 
};