将子属性添加到 jsdoc 中的现有属性列表
Adding sub-properties to an existing property-list in jsdoc
我正在尝试在我们的JS库中自动化一个特定的模块,并且卡在了我想定义一组属性的点(假设一个对象作为类的构造参数)。
/**
* This function initiates world peace!
* @constructor
* @param {object} defaults - The options to initiate peace.
* @param {number} defaults.issues - The number of issues being taken up.
* @param {string} defaults.source - The name of the location where process starts.
*/
var WorldPeace = function (defaults) {
// code here
};
在一个位置定义了建筑的所有属性,这是很好的。不幸的是,我的代码有许多模块有助于该构造属性。比方说,在代码的其他部分(在后面的文件中)会导致有更多的属性
* @param {Date} defaults.start - The date when the process started.
* @param {Date} defaults.stop - The date when the process should stop.
如何添加到我之前为函数定义的原始属性集WorldPeace
?做一些类似混合或子类化属性的事情会过火!因此,如果我能简单地注入到属性列表定义中,那就太好了。
最简单的方法是使用记录类型:
/**
* This function initiates world peace!
* @constructor
* @param {{issues: number, source: string}} defaults - options to initiate peace.
*/
var WorldPeace = function (defaults) {
// code here
};
您还可以实现一个接口:
/** @interface */
var WordPeaceDefaults;
/** @type {number} */
WorldPeaceDefaults.prototype.issues;
/** @type {string} */
WorldPeaceDefaults.prototype.source;
/**
* This function initiates world peace!
* @constructor
* @param {WorldPeaceDefaults} defaults - options to initiate peace.
*/
var WorldPeace = function (defaults) {
// code here
};
/**
* @constructor
* @implements {WorldPeaceDefaults}
*/
function MyWorldPeaceDefaults() {}
/** @type {number} */
MyWorldPeaceDefaults.prototype.issues = 0;
/** @type {string} */
MyWorldPeaceDefaults.prototype.source = '';
WordPeace(new MyWorldPeaceDefaults);
另一种方法是使用 typedef:
/**
* @typedef {{
* issues: number,
* source: string
* }}
*/
var WorldPeaceOptions;
/**
* @constructor
* @param {WorldPeaceOptions} defaults
*/
var WorldPeace = function (defaults) {
// code here
};
相关文章:
- 属性列表后缺少}语法错误
- 加速 Ember 渲染 - Ember 计算属性列表
- Javascript 不同的对象属性列表
- 如何获取原型属性列表
- 将子属性添加到 jsdoc 中的现有属性列表
- 平展对象属性列表
- “语法错误:属性列表后缺少}” 如何使Javascript符号证明
- 尝试输出唯一数据属性列表(jQuery/Java)
- Ajax 和 JS on select_taf;语法错误:属性列表后缺少 }
- 获取错误语法错误:属性列表 url 后缺少 }:http://localhost/mcportal/public/pos
- '属性列表后缺少}.(文件“代码”的第3行);
- 如何创建一个javascript函数,输出一个带有object's属性列表的对象列表
- 自定义字符串-缺失:在属性列表之后
- 获取聚合物已发布的属性列表
- Jquery map将虚线属性列表转换为对象
- 如何在AngularJS指令中设置必需的属性列表
- Jquery - info/docs关于适用于表单中不同类型输入元素的属性列表
- 是否有一种方法使DOMElement.属性列表干净(标准)在旧的Internet explorer
- 仅为通过元素选择器选择的元素获取指定的属性列表
- CSS和Javascript:获取CSS自定义属性列表