gpt4 book ai didi

javascript - 如何正确记录通过 Object.defineProperties 添加的实例成员?

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:55 24 4
gpt4 key购买 nike

我有一个通过 Object.defineProperties 定义一些实例属性的类,我很难获得 JSDoc 3认识到他们属于自己的类(Class)。

这是我正在使用的简化版本:

/** @exports mymodule */
function mymodule(exports) {
/** @constructor
* @param {String} foo A foo.
* @param {String} bar A bar.
* @classdesc Has a foo and a bar.
*/
function Example(foo, bar) {
Object.defineProperties(this, {
/** A foo and a bar
* @memberof Example
*/
foobar: { enumerable: false, value: foo + bar, writable: false }
});
}

exports.Example = Example;
}

当我运行 JSDoc 时,我得到了 mymoduleExamplefoobar 的输出,但是不是 foobar。如果我删除 foobar@memberof 标签,它会注册为全局。我试过 @memberof mymmodule~Example,将 @lends 添加到 Object.defineProperties 调用和传递给它的对象,并转换它到 Object.defineProperty,但结果不会改变。

如何将 foobar 记录为属于 Example

最佳答案

在深入研究了我能找到的每个示例之后,我终于组装了必要的咒语 — @memberof 确实是诀窍,但 JSDoc 似乎要求在名称路径中使用的模块被显式标记为这样。以下完美运行:

/** A foo and a bar
*
* @type String
* @instance
* @memberof module:mymodule~Example
*/

关于javascript - 如何正确记录通过 Object.defineProperties 添加的实例成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12453686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com