2014-09-10 7 views
7

에 선택적 속성을 익명 객체를 주석에 좋아 :내가 주석 때 정의 특성 세트 및 폐쇄 컴파일러는 행복과 Object 형식의 하나 개의 인수를 취하는 자바 스크립트 클래스가 어떻게 JSDoc

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

I을 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

답변

13

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

+0

너무 분명합니다. 그것은 매력처럼 작동합니다. 감사합니다 –

+1

'| undefined' 대신에'title? : string'이 될까요? – Noitidart

+0

클로저 컴파일러의 경우 아니요, 아니요. – MatrixFrog