当我编写以下代码时,注释器告诉我在第二个typedef中未定义BrowserSelector
:
/**
* @typedef {{name: String, minVer: Number, maxVer: Number}} BrowserSelector
*/
/**
* @typedef {{type:String, browser: BrowserSelector, attribute: Object}} Selector
*/
我相信这不是将类型与名称相关联。我怎样才能做到这一点?
我宁愿不添加实际代码,而只是添加jsdoc注释。
最佳答案
我将这种注释样式用于“结构”之类的类型:
/**
* @name BrowserSelector
* @property {String} name
* @property {Number} minVer
* @property {Number} maxVer
*/
/** @type {BrowserSelector|*} */
var mySelector = {}; // no warning because of '*' in @type :S
mySelector.name = 'foo'; // no warning :)
mySelector.id = 'bar'; // warning :)