注释 javascript 用于静态类型检查的好的解决方案是什么?

What is a good solution for annotating javascript for static type checking?

注释 javascript 进行静态类型检查的好的解决方案是什么?

就我个人而言,我有使用 TypeScript 的经验,我喜欢它,但问题是它有开销:如果你想与其他人一起工作,要么他们学习 TypeScript,要么你降级到普通的无类型 Javascript. 我知道 jsdoc 和闭包编译器,可能其他人可以根据注释块中的声明静态类型检查 javascript。今天建议的解决方案是什么? 此外,类型检查也应该越过模块边界(我指的是 require(...) 和 pals)

谢谢!

编辑:如果可以将变量注释为常量,那就更好了。更好的是,如果对象本身可以被注释为不可变的,但我意识到我要求太多了。

Facebook 最近发布了 Flow,一个针对 JavaScript 的静态类型检查器。这似乎符合您的要求。

Facebook Flow 现在支持在块注释中放置类型注释,因此来源 javascript 仍然有效 javascript。看这里:http://flowtype.org/blog/2015/02/20/Flow-Comments.html