Javascript + JsDoc : How to document new ES6 datatypes like map?

标签 javascript ecmascript-6 jsdoc jsdoc3

我正在尝试在我的 ES6 项目中使用 JSDoc,我正在返回一个 map :

/**
 * Some documentation.. 
 *
 * @returns {undefined} <- This should be replaced
 */
function returningMap() {
    const someMap = new Map();
    someMap.set("key", {a, b, c});
    return someMap;
}

我应该如何用 @returns 记录这个?

没有好的答案here .

最佳答案

答案简单又漂亮:

/**
 * Some documentation.
 *
 * @return {Map<String, Object>}
 */
function returningMap() {
    const someMap = new Map();
    someMap.set("key", {a, b, c});
    return someMap;
}

基本模式是Map<KeyType, ValueType> .在您的示例中,键是一个字符串,值是一个对象。您甚至可以继续声明您的对象。例如:

/**
 * @typedef {Object} MyObject
 * @property {Number} a
 * @property {Number} b
 * @property {String} c
 */

然后您的 map 将声明为 Map<String, MyObject> .很酷,不是吗?您还可以嵌套其他 map 甚至集合,例如 Map<Number, Set<MyObject>> .

关于Javascript + JsDoc : How to document new ES6 datatypes like map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38321681/

相关文章:

javascript - jQuery 点击内部函数(全局)

javascript - 我如何使用 JSDoc 记录一个对象?

Javascript 对象文字模板 : Extending implementation object with a baseline

javascript - 更改 ExpressJS 中的 "expires" header ?

javascript - 如何将数组映射到javascript中的对象

javascript - react 中的 props.children 不能是无状态组件?

javascript - 为什么 obj={x,y} 在 Chrome 中有效?

javascript - JSDoc - 如何记录代码区域

javascript - 如何在 JSDoc 中正确定义自己的类类型?

javascript - 如何使用递归计算字符串中的所有回文?