我正在应用JSDoc注释:
/**
* @param {number} millis
* @param {function} callback
* */
function sleep(millis, callback) {
setTimeout(function() {
callback();
}, millis);
}
然后用什么工具告诉下面的行有错误?
sleep('aaa', 'sdsdsd');
JSHint是否了解JSDoc类型注释?如何在Eclipse中启用此类支持?
答案 0 :(得分:4)
jshint不知道jsdoc评论。但是,您可以查看使用eslint并为其编写一个插件,以便对函数调用执行类型检查。根据项目的设置方式,您最终可能需要预先解析代码以将注释提取到您的eslint规则将使用的规则文件中。
答案 1 :(得分:1)
免责声明,我是tern.java的作者。
我建议你install tern.java 1.0.0-SNAPSHOT。它提供了使用JSDoc注释验证JavaScript文件的功能。这是包含此问题示例的屏幕截图:
如果您需要使用JSDoc验证进行改进,请创建问题here
答案 2 :(得分:0)
您可以查看https://github.com/yarax/typelint
它是一个EsLint插件,可以对JSDoc注释进行类型检查,另外还支持它自己的扩展,以便使用Redux状态或Swagger模式(基本上任何JSON模式)进行类型检查。
有助于不从头开始编写复杂的复合类型并使用现有数据。