我希望我的代码(如下所示)可以使用JSDoc(v2.4.0)生成描述对象文字的每个属性的文档,但它不起作用。有谁知道如何使用JSDoc从使用getter / setter的代码生成文档?
/** Enum of days of week. */
var Day = {
/** Sunday. */
get Sun() { return 0; },
/** Monday. */
get Mon() { return 1; },
/** Thuesday. */
get Tue() { return 2; },
/** Wednesday. */
get Wed() { return 3; },
/** Thursday. */
get Thu() { return 4; },
/** Friday. */
get Fri() { return 5; },
/** Saturday. */
get Sat() { return 6; }
}
答案 0 :(得分:7)
使用@type
来记录JavaScript get
和set
访问者。以下内容适用于JSDoc:
/**
* Sunday.
* @type {number}
*/
get "Sun"() { return 0; },
/**
* Monday.
* @type {number}
*/
get "Mon"() { return 1; },
这会将每个属性记录为类型为number
的成员。
答案 1 :(得分:2)
您可以使用jQuery样式的getter / setter方法:
/**
* Get colour of object
* @returns {mixed}
*//**
* Set colour of object
* @param {mixed} val
* @returns {this}
*/
colour: function(val) {
if (val === undefined)
return this.colour;
else {
this.colour = val;
return this;
}
}
我刚刚与迈克尔本人讨论过这个问题。由于非常酷的功能,它可以在jsDoc3(https://github.com/micmath/jsdoc)中使用。可以堆叠多个docblock(一个用于getter,一个用于setter):