1. ホーム
  2. javascript

[解決済み] JSDocで辞書を文書化する方法は?

2023-04-02 05:57:43

質問

次のような例があります。

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"
        }
    }
};