假设我有两个函数,其中一个是另一个的扩展。
/**
* @abstract
* @param {Object} settings
* @param {Number} settings.x
* @param {Number} settings.y
*
*/
function Base(settings) {
this.x = settings.x;
this.y = settings.y;
}
/**
* @extends Base
*/
function Foo(settings) {
Base.call(this, settings);
}
这两个函数在两个不同的文件中。我是否可以从Base
函数继承参数文档到Foo
函数中,或者必须把文档写两遍?
我尝试将settings
定义为@typedef
,如下所示:
/**
* @typedef {Object} BaseSettings
* @property {Number} x
* @property {Number} y
*
*/
/**
* @extends Base
* @param {BaseSettings} settings
*/
function Foo(settings) {
Base.call(this, settings);
}
但这只是链接到全局类型定义,并且我想要参数记录在与函数相同的页面上。但是这是否可能,在不重复编写文档的情况下实现?