gpt4 book ai didi

javascript - "@name"的替代品,用于记录 `this` 的属性

转载 作者:行者123 更新时间:2023-11-30 18:07:11 25 4
gpt4 key购买 nike

我想知道如何记录类的构造函数的 this. 属性。例如,我尝试使用 @name 标记来命名我的类,但它没有为 this.foo 生成文档:

/**
* @name ClassName
* @constructor
*/
function noname (){
/** @type {String} */
this.foo = "bar";
}

我可以这样解决:

/**
* @name ClassName
* @constructor
*/
function noname (){
/**
* @type {String}
* @name ClassName#foo
*/
this.foo = "bar";
}

或者这样:

/**
* @name ClassName
* @constructor
*/
function noname (){
/** @lends ClassName# */
var that = this;

/** @type {String} */
that.foo = "bar";
}

然而,两者都不令人满意,因为这要么需要更改大量现有代码,要么需要在 jsdoc 注释中添加所有属性名称。

既然 @name 不能解决问题,是否有替代标签可以解决问题?

最佳答案

尝试使用 @alias 标签:

/**
* @alias ClassName
* @constructor
*/
function noname (){
/** @type {String} */
this.foo = "bar";
}

一般来说,使用@alias标签重命名代码中存在的符号;如果您记录的符号没有出现在您的代码中(例如,在运行时生成的方法),请使用 @name 标记。

关于javascript - "@name"的替代品,用于记录 `this` 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15532675/

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