我试图在我的ES6项目中使用JSDoc,我正在返回一张地图:
/**
* Some documentation..
*
* @returns {undefined} <- This should be replaced
*/
function returningMap() {
const someMap = new Map();
someMap.set("key", {a, b, c});
return someMap;
}
我应该如何使用@returns
进行记录?
没有好的答案here。
答案 0 :(得分:3)
答案简单而美丽:
/**
* Some documentation.
*
* @return {Map<String, Object>}
*/
function returningMap() {
const someMap = new Map();
someMap.set("key", {a, b, c});
return someMap;
}
基本模式为Map<KeyType, ValueType>
。从您的示例中,key将是一个字符串并且值为一个对象。您甚至可以继续声明您的对象。例如:
/**
* @typedef {Object} MyObject
* @property {Number} a
* @property {Number} b
* @property {String} c
*/
然后您的地图将被声明为Map<String, MyObject>
。很酷,不是吗?您还可以嵌套其他地图甚至是集合,例如Map<Number, Set<MyObject>>
。
答案 1 :(得分:0)
您最好的选择可能是在某处定义Map
和be found here的朋友:
/**
* The Map object is a simple key/value map. Any value (both objects and primitive values) may be used as either a key or a value.
* @external Map
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map}
*/
然后会定义您的类型,因此您可以在评论中说@returns {Map}
。
在一个地方获取所有网址和单行的便捷位置来自@external
。