簡體   English   中英

如何在JSDoc中記錄字典?

[英]How to document a dictionary in JSDoc?

有下一個例子:

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

並且知道locale屬性包含的是來自數據庫的字典對象,如何使用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"
        }
    }
};

據我所知:

使用@typedef@property定義自定義類型在JSDoc“正確”的方式。 但是編寫和閱讀丑陋是很麻煩的(文檔中的主要罪惡)。

記錄類型更整潔(注意雙{{ s):

   /** {{
         name:string, 
         lang:string
   }} */

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM