簡體   English   中英

使用變量定義JSDoc類型[WebStorm友好]

[英]Define JSDoc type using a variable [WebStorm-friendly]

在下面的代碼中,我想使用testSettings變量定義ApplicationSettings類型的形狀,以便在useSettings函數內部可以知道在settings對象上可以訪問哪些屬性:

/** @typedef ApplicationSettings */
var testSettings = {
    apiService: {},
    configuration: {}
};

/**
 * @param {ApplicationSettings} settings
 */
function useSettings(settings) {
    console.log(settings.apiService); // apiService is not recognized here
    console.log(settings.configuration); // same for configuration
}

不幸的是,在這種情況下, @typedef似乎不是有效的注釋。 是否可以告訴WebStorm,而無需在JSDoc中顯式指定其所有屬性, ApplicationSettings類型應該是什么樣?

為什么在這里需要@typedef? 以下語法有效:

var testSettings = {
    apiService: {},
    configuration: {}
};

/**
 * @param {testSettings} settings
 */
function useSettings(settings) {
    console.log(settings.apiService); 
    console.log(settings.configuration);

暫無
暫無

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

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