jsdoc - 参数对象中的默认 属性 值
jsdoc - default property value inside param object
对于下面的jsdoc @param对象,如何给name
赋默认值?
/**
@param inbound {{
email: string,
name: string,
req: Req
}}
*/
我试过了
/**
@param inbound {{
email: string,
name: [string=""],
req: Req
}}
*/
但这只会把它变成一个数组 [string, ""]
。
与 @typedef
相比,我也更喜欢这种 @param
风格,因为 vscode 向我展示了使用 @param
的对象的属性,而它并没有展示它@typedef
文档中记录了可选参数闭包类型系统中的类型
在 Closure Compiler 维基上。
总之,默认值应该用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';
}
但是,您的问题具体指的是文档中的默认 属性。据我所知,"deep defaulting" 不是 vanilla JS 中的东西,无论如何也不是方法签名中的东西,所以你不太可能找到一种纯粹的 JSDocs 方法来完成这个。
只要写好描述,用JS实现即可。您可以创建一个非常简单的 class,此默认值 属性 由 getter/setter.
返回
对于下面的jsdoc @param对象,如何给name
赋默认值?
/**
@param inbound {{
email: string,
name: string,
req: Req
}}
*/
我试过了
/**
@param inbound {{
email: string,
name: [string=""],
req: Req
}}
*/
但这只会把它变成一个数组 [string, ""]
。
与 @typedef
相比,我也更喜欢这种 @param
风格,因为 vscode 向我展示了使用 @param
的对象的属性,而它并没有展示它@typedef
文档中记录了可选参数闭包类型系统中的类型 在 Closure Compiler 维基上。
总之,默认值应该用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';
}
但是,您的问题具体指的是文档中的默认 属性。据我所知,"deep defaulting" 不是 vanilla JS 中的东西,无论如何也不是方法签名中的东西,所以你不太可能找到一种纯粹的 JSDocs 方法来完成这个。
只要写好描述,用JS实现即可。您可以创建一个非常简单的 class,此默认值 属性 由 getter/setter.
返回