次の例があります:
var CONF = {
locale: {
"en": {
name: "English",
lang: "en-US"
},
"es": {
name: "Spanish",
lang: "es-ES"
}
}
};
また、ロケールプロパティに含まれているのはデータベースから取得したディクショナリオブジェクトであることがわかっているので、JSDocを使用してその内部プロパティをドキュメント化するにはどうすればよいですか?
現在、ロケールオブジェクトのtypedef
型を考えていますが、locale
プロパティを定義済みの型の単純な配列に設定できますか?これは正しい方法ですか?
JSDoc 3 docs によると:
配列とオブジェクト(型アプリケーションとレコード型)
文字列キーと数値を持つオブジェクト:
{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"
}
}
};
私の知る限り:
@typedef
および@property
を使用してカスタムタイプを定義することは、JSDocの「正しい」方法です。しかし、書くのは面倒で、読むのはいです(ドキュメンテーションの重大な罪)。
レコードタイプは非常にきれいです({{
sのダブルに注意してください):
/** {{
name:string,
lang:string
}} */