gpt4 book ai didi

javascript - 向 Eclipse/JSDT 指定 Javascript 变量的类型

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

我正在尝试使用 Eclipse 进行一些服务器端 Javascript 开发。

我使用的 API 有一个函数 doStuff(string, object)(更改名称以保护罪犯)根据(的值)返回不同类型(一种类型的子类)的值) 参数传递给它。

我已经构建了一个 Javascript 库来描述这个函数:

/**
* function doStuff(s, o)
* @memberOf Global
* @param {String} s
* @param {Object} o
* @type ResultType
* @returns {ResultType}
*/
doStuff = function(str, obj} {return new ResultType();}

因为它可以返回多种类型,所以我将其声明为返回基类型。但是,这意味着 Eclipse 不知道它到底是什么类型,因此我在尝试访问该对象的字段时会收到虚假错误。

所以可以有FooResultType,BarResultType,每一个都是ResultType,但是有额外的字段/函数

有什么办法解决这个问题吗?我能否以某种方式注释保存返回值的变量,以便 Eclipse 知道它到底是什么类型?

我试过了(在 FooResultType 周围有和没有大括号)

/**
* @type FooResultType
*/
v = doStuff("stringvalue", someObject);

但这没有什么区别。

(这方面还有其他问题,但我认为没有解决这个问题)

最佳答案

(回答我自己的问题)

以下确实有效。关键似乎是“var”——只有声明一个变量才能让 JSDT 识别它具有指定的类型。我怀疑 JSDT 只能为每个变量管理一种类型,尽管当然是 Javascript 类型可以任意更改。

/**
* @returns {FooResultType}
*/
var v = doStuff("stringvalue", someObject);

它似乎还需要 @returns 而不是 @type,尽管很难知道 JSDT 支持什么和不支持什么——它没有很好的文档记录,需要进行试验。有时,微小的变化似乎会产生意想不到的差异。

关于javascript - 向 Eclipse/JSDT 指定 Javascript 变量的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6564512/

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