gpt4 book ai didi

javascript - JSDoc:如何记录返回传递构造函数实例的函数?

转载 作者:行者123 更新时间:2023-12-01 17:28:04 25 4
gpt4 key购买 nike

例如,我有以下功能:

function createInstanceOf(ObjectConstructor) {
return new ObjectConstructor;
}

当我将类作为参数传递时,我想让 WebStorm 自动完成工作。例如:如果我调用 createInstanceOf(ClassA)我想查看 ClassA 的自动完成例如,如果我调用 createInstanceOf(ClassB) – 为 ClassB实例。所以 JSDoc 函数必须是通用的。

使用 JSDoc 定义泛型函数并制作 @return 很容易值类型同 @param ,但我没有找到治疗方法 @param type 作为返回对象的构造函数。

所以这不起作用:
/**
* @param {T} ObjectConstructor
* @returns {T}
* @template T
*/
function createInstanceOf(ObjectConstructor) {
return new ObjectConstructor;
}

我也试图让它以这种方式工作:
/**
* @param {function(new:T)} ObjectConstructor
* @returns {T}
* @template T
*/
function createInstanceOf(ObjectConstructor) {
return new ObjectConstructor;
}

但也许我使用了错误的闭包类型,或者 WebStorm 无法解析这样的泛型类型。

如果 JSDoc 有多种解决方案,我想找出哪些解决方案专门用于 WebStorm IDE 自动完成功能。

谢谢

最佳答案

你可能不再需要这个了,但我也被困在这个问题上几个月了,所以对于其他想知道的人来说,你可以这样做:

/**
* @template T
* @param {new() => T} ObjectConstructor
* @returns {T}
*/
function createInstanceOf(ObjectConstructor) {
return new ObjectConstructor;
}
Got the answer from this article

关于javascript - JSDoc:如何记录返回传递构造函数实例的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51134735/

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