如何在JSDoc中记录字典?

阿克塞尔·科斯塔斯刑罚:

下一个例子:

var CONF = {
    locale: {
        "en": {
            name: "English",
            lang: "en-US"
        },
        "es": {
            name: "Spanish",
            lang: "es-ES"
        }
    }
};

并且知道语言环境属性包含的是来自数据库的字典对象,如何使用JSDoc记录其内部属性?

目前,我正在考虑typedef为语言环境对象键入内容,那么我是否可以将locale属性设置为简单地定义类型的数组?这是正确的方法吗?

阿克塞尔·科斯塔斯刑罚:

根据JSDoc 3文档

数组和对象(类型应用程序和记录类型)

具有字符串键和数字值的对象:

{Object.<string, number>}

因此它将是:

/** @type {{locales: Object.<string, {name: string, lang: string}>}} */
var CONF = {
    locales: {
        en: {
            name: "English",
            lang: "en-US"
        },
        es: {
            name: "Spanish",
            lang: "es-ES"
        }
    }
};

清洁,使用 @typedef

/**
 * @typedef {{name: string, lang: string}} locale
 */
/**
 * @type {{locales: Object.<string, locale>}}
 */
var CONF = {
    locales: {
        en: {
            name: "English",
            lang: "en-US"
        },
        es: {
            name: "Spanish",
            lang: "es-ES"
        }
    }
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章