gpt4 book ai didi

javascript - 使用 jsdoc 记录 javascript 构造函数的返回

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:48:30 25 4
gpt4 key购买 nike

我有一个返回构造函数的 javascript 函数(参见下面的代码示例)。我将如何使用 jsdoc 的 @returns 标记记录它。执行 @returns {MyConstructor} 似乎不正确,因为这意味着我要返回“MyConstructor”的实例而不是构造函数本身,对吗?

function MyConstructor() {
var self = this;

self.myFunction = function() {
return true;
};

self.getMyFunctionResult = function() {
return self.myFunction();
};
}

/**
* @returns {?} A constructor that will be instantiated
*/
function getConstructor() {
return MyConstructor;
}

var constructor = getConstructor();
var instance = new constructor();

最佳答案

我认为没有办法在 @returns 之后使用方括号来记录返回一个特定 实例。括号中的内容始终被解释为类型。这就是说,有一种方法可以通过记录实例并使用指向该实例的链接来记​​录正在返回类型的特定实例。我已将问题中的代码缩短为说明所需的要点:

/**
* @class
*/
function MyConstructor() {

}

/**
* @returns {Function} A constructor that will be instantiated. Always
* returns {@link MyConstructor}.
*/
function getConstructor() {
return MyConstructor;
}

它也可以用类以外的东西来完成:

/**
* @public
*/
var foo = 1;

/**
* @returns {number} {@link foo}.
*/
function getFoo(){
return foo;
}

据我所知,这与 jsdoc 3 一样好。

关于javascript - 使用 jsdoc 记录 javascript 构造函数的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002316/

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