我如何使用jsdoc来记录webstorm中的类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (68)

当我编写以下代码时,注释程序告诉我BrowserSelector未在第二个类型胡枝子f中定义:

/**
 * @typedef {{name: String, minVer: Number, maxVer: Number}} BrowserSelector
 */

/**
 * @typedef {{type:String, browser: BrowserSelector, attribute: Object}} Selector
 */

我认为这不是将类型与名称联系起来。我该怎么做?

我不想为它添加实际的代码,只是jsdoc注释。

提问于
用户回答回答于

我使用这种注释样式来表示类似于“struct”的类型:

/**
 * @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 :)

用户回答回答于

多个描述属性的注释在Webstorm 7(可能更早)中是不必要的。

/**
 * @name BrowserSelector
 * @type {{
 *     name: String,
 *     minVer: Number,
 *     maxVer: Number
 * }}
 */

扫码关注云+社区