91

次の例があります:

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

また、locale プロパティに含まれているのはデータベースに由来するディクショナリ オブジェクトであることを知っている場合、その内部プロパティを JSDoc で文書化するにはどうすればよいでしょうか?

現在、自分のロケール オブジェクトを入力しようと考えていますが、プロパティを単に自分の定義した型の配列にtypedef 設定することはできますか? localeこれは正しい方法ですか?

4

2 に答える 2

153

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"
        }
    }
};
于 2013-10-29T08:55:22.790 に答える