如何在 Google Closure Compiler 中为对象类型指定 @param @return?

How do I specify @param @return for object type in Google Closure Compiler?

在javascript代码中,我有这个功能

/*
 * @param 
 * @return
 */
foo = function (oObjFoo) {
      // do something
      return oObjBar;
}

oObjFoo 是类型:{"a":number, "b":text, "c": bool }

oObjBar 的类型是:{"c":number, "d":text }

如何指定 @param、@return 以使用 google 闭包编译器进行更严格的类型检查?

/**
 * @param {{a:number, b:string, c: boolean }} oObjFoo
 * @return {{c:number, d:string}}
 */
var foo = function (oObjFoo) {
  // do something
  return oObjBar;
}

请注意,注释必须以双星号开头,编译器才能将其视为 JsDoc 注释。

看看 JSDoc:

http://usejsdoc.org/tags-param.html

/**
 * @param {Object} oAttributes
 * @param {namespace.extension=} oAttributes.parent DOC-Description
 * @param {jQuery=} oAttributes.$element Optional jQuery-Element
 */