Javascript jsdoc-param对象内的默认属性值

Javascript jsdoc-param对象内的默认属性值,javascript,jsdoc,Javascript,Jsdoc,对于以下jsdoc@param对象,如何将默认值分配给name /** @param inbound {{ email: string, name: string, req: Req }} */ 我试过了 /** @param inbound {{ email: string, name: [string=""], req: Req }} */ 但这只是把它变成

对于以下jsdoc@param对象,如何将默认值分配给
name

/** 
    @param inbound {{
        email: string,
        name: string,
        req: Req
    }}
*/
我试过了

/** 
    @param inbound {{
        email: string,
        name: [string=""],
        req: Req
    }}
*/
但这只是把它变成一个数组
[string,“]


我也更喜欢这种
@param
样式,而不是
@typedef
,因为vscode使用
@param
向我显示对象的属性,而对于
@typedef

,它不显示可选参数记录在wiki上的文档中

简而言之,应该使用JS提供默认值

/**
 * Some class, initialized with an optional value.
 * @param {!Object=} opt_value Some value (optional).
 * @constructor
 */
function MyClass(opt_value) {
  /**
   * Some value.
   * @private {!Object|undefined}
   */
  this.myValue_ = opt_value || 'foo';
}
但是,您的问题特别涉及文档中的默认属性。据我所知,“深度默认”在vanilla JS中并不常见,在方法签名中也不常见,因此不太可能找到一种纯粹的JSDocs方法来实现这一点

只要写一个好的描述并用JS实现即可。您可以创建一个非常简单的类,该类的默认属性由getter/setter返回