2014-09-10 83 views
7

有一个JavaScript类,使用对象类型的一个参数与定义的属性集和关闭编译器是幸福的,当我将其标注为喜欢:我如何注释匿名对象有可选属性在JSDoc

@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){ } 

现在关闭编译为com plaining:

WARNING - Bad type annotation. expected closing } 

我检查Annotating JavaScript for the Closure Compiler,但我看描述这种使用情况下,不单行。

+2

我认为'='修饰符只对函数参数有效,不适用于记录类型属性。 – Bergi 2014-09-10 19:17:52

回答

13

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

+0

这很明显。它像一个魅力。谢谢 – 2014-09-11 10:50:24

+1

而不是'| undefined'不应该是'title?:string'? – Noitidart 2017-03-18 20:26:24

+0

不适用于Closure Compiler,no。 – MatrixFrog 2017-04-12 21:44:43

相关问题