Eclipse JSDT - 声明函数参数的类型
使用 Eclipse Helios:
如果我定义一个简单的 Javascript 函数,则
/**
* @returns {Number}
* @param {String} arg
*/
function test(arg)
{
return 1;
}
- 标签是由 Alt-Shift0J 自动添加的标签 - 那么该函数的推断类型为:
数字测试(任何参数) 参数: {字符串} 参数 @返回 {数字}
请注意“any arg”,尽管 Eclipse 稍后也识别出该参数是“{String} arg”。
我没有尝试过让 arg 的推断类型成为“any”以外的任何类型。这意味着无法检测到使用非字符串调用该函数,这很遗憾。
那么,这是一个错误吗?不应该工作吗?我做错了什么吗?
Using Eclipse Helios:
If I define a simple Javascript function
/**
* @returns {Number}
* @param {String} arg
*/
function test(arg)
{
return 1;
}
- the tags were those automatically added by Alt-Shift0J - then the inferred type for the function is:
Number test(any arg) Parameters: {String} arg @returns {Number}
Note the "any arg", despite also Eclipse also recognising the parameter is "{String} arg" later.
Nothing I've tried get the inferred type of the arg to be anything other than "any". This means calling the function with a non-String isn't detected, which is a pity.
So, is this a bug? Not supposed to work? Something I'm doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上 JSDT/Eclipse 中的 JsDoc 注释主要有两个原因(根据我的理解,如果不一样请纠正我)
用于生成文档和
让 eclipse-JSDT-engine 帮助开发人员自动建议(特定情况)。
因此,在运行 js 文件之前,Eclipse 开发人员不仅仅会交叉检查注释绑定与实际代码实现。再次,当你运行 javascript 时。在运行时,javadoc 注释仅作为注释而被忽略。
Actually the JsDoc annotations in JSDT/Eclipse are meant for primarily two reasons(as per my comprehension, do correct me if its not the same)
For generation of documentation and
To let eclipse-JSDT-engine help the developer with auto suggest(case-specific).
so the eclipse-developers are not just cross-checking the annotation bindings with your actual code implementation until you run the js file. And again, while you run the javascript. at run time the the javadoc annotations are overlooked as mere comments.