Áxe*_*ena 55 javascript dictionary jsdoc
有下一个例子:
var CONF = {
locale: {
"en": {
name: "English",
lang: "en-US"
},
"es": {
name: "Spanish",
lang: "es-ES"
}
}
};
Run Code Online (Sandbox Code Playgroud)
并且知道locale属性包含的是来自数据库的字典对象,如何使用JSDoc记录其内部属性?
目前我正在考虑typedef 为我的语言环境对象输入,那么我可以将该locale属性设置为我定义的类型的数组吗?这是正确的方法吗?
Áxe*_*ena 88
根据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"
}
}
};
Run Code Online (Sandbox Code Playgroud)
清洁,使用 @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"
}
}
};
Run Code Online (Sandbox Code Playgroud)