2013-11-27 37 views
2

我有jsdoc評論功能類似於在我的代碼如下:上的選項參數屬性與WebStorm JSDoc:「未解決的變量」

/** 
* Foo function 
* @param {Object} [options] 
* @param {String} [options.foo] 
*/ 
var foo = function (options) { 
    if (!options) options = {}; 
    var foo = options.foo || 'foo'; 
    // ... 
}; 

我的IDE,WebStorm,標誌options.foo作爲一個'未解決的變量「。如果我刪除了jsdoc註釋,警告消失。如何以WebStorm獲取提示的方式記錄此功能並不再顯示此警告?

screenshot

的事情,我想:

  • 刪除@param {String} [options.foo]
  • @param {?String} [options.foo]
  • @param {String} options.foo
  • if (!options) options = {foo: 'bar'};
  • 最後兩個結合。

這是一個錯誤還是我錯過了什麼? WebStorm似乎理解options.foo參數定義,因爲if (!options) options = {foo: 42};會發出警告,指出類型不是字符串。

我正在使用WebStorm 7.0。

+0

使用'{*}'而不是'{對象}' ''' @param {*} [選項] ''' – iolo

回答

3

Webstorm的文檔鏈接jsdoc 3. jsdoc 3,我會記錄您的對象是這樣的:

@param {{foo: string}} options 

你試圖做它的方式意味着像function (options, options.foo)函數簽名。

有關如何記錄類型的信息可用here

+0

不WebStorm 7.0.1正常工作。但似乎在即將到來的7.0.3中工作(每天檢查一次) – lena