Skip to content

Type checker for JavaScript?

Does anyone know if there’s a good tool for analyzing JavaScript code and detecting type errors? I know that JavaScript itself is weakly and dynamically typed, but it would be really nice if I could have a program that would verify that all my field accesses are sensible and that I don’t try treating a number like a string, for example. I’m aware that there are valid use cases in JavaScript where adding or removing fields or converting between different types is valid and expected, but some errors are so blatant it seems like they could be caught before the script started running.

I’ve heard of JSLint, but my understanding is that it’s mostly a style tool rather than a semantic analyzer. If I’m wrong about this, then just telling me so would be a valid answer to this question.


Google closure compiler does some type checking if you follow their recommendations for annotating your functions with jsDoc comments. See