如何使用@param
来提示作为属性 ( )的可选参数以及用于提示其返回类型?function
this.selectedPage()
@type
以这个为例(this.selectedPage()
可以通过传递参数接收页面并通过传递无返回):
/**
* @type {function(): Page}
*/
this.selectedPage = ko.observable(data.page);
type-typehint 很好地被 IDE 接收,并允许自动完成this.selectedPage()
产生Page
.
但是,还请注意,它this.selectedPage()
需要一个参数——即一个页面。否则 IDE 会抱怨该函数在尝试传递 1 时允许 0 参数。
所以我将两者结合起来:
/**
* @type {function(Page): Page}
*/
this.selectedPage = ko.observable(data.page);
这似乎阻止了 IDE 在尝试传递参数时抱怨,但现在它在不传递参数时抱怨。
我试过@type {function(undefined|Page): Page}
无济于事。
该函数是一个 getter/setter - 那么如何告诉 docblock @param 是可选的呢?