【问题标题】:How to annotate anonymous object with optional property in JSDoc如何在 JSDoc 中使用可选属性注释匿名对象
【发布时间】:2014-11-04 13:30:40
【问题描述】:

我有一个 JavaScript 类,它接受一个具有已定义属性集的 Object 类型参数,当我将其注释为以下内容时,闭包编译器很高兴:

@constructor
@param {{ subview:BaseView, el:(jQuery|Element), title:String }} options
var MyView = function(options){ }

我想将 title 键设为可选并将 title 值传递给我的类的某些实例,并在此键不存在时实现回退行为,所以我用以下方式注释我的类:

@constructor
@param {{ subview:BaseView, el:(jQuery|Element), title:String= }} options
var MyView = function(options){ }

现在闭包编译器正在抱怨:

警告 - 错误的类型注释。预计结束 }

我检查了Annotating JavaScript for the Closure Compiler,但我没有看到任何一行描述这种用例。

【问题讨论】:

  • 我认为=修饰符只对函数参数有效,对记录类型属性无效。

标签: javascript google-closure-compiler jsdoc


【解决方案1】:

@param {{ subview:BaseView, el:(jQuery|Element), title:(string|undefined) }} options

【讨论】:

  • 不应该是|undefined而不是title?:string吗?
  • 不适用于闭包编译器,不。
猜你喜欢
  • 2020-10-04
  • 2019-11-16
  • 1970-01-01
  • 2015-06-02
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
相关资源
最近更新 更多