Además de JSLint, el compilador de cierres de Google también se puede utilizar para el análisis estático de la fuente JS, y también comprueba cosas diferentes de JSLint.
Ninguna de estas herramientas proporciona exactamente lo que usted desea .. Closure Compiler intenta la comprobación de tipo si recuerdo correctamente, pero no siempre funciona (en absoluto).
Aunque estas características pueden parecer deseables desde el punto de vista de alguien que está acostumbrado a los lenguajes estrictamente tipados, a menudo veo personas que intentan usar JS como C#/Java/lo que falla en más de un nivel, y generalmente terminan con un código menos legible y peor en general. Por supuesto, este no es tu caso, pero esto es solo una observación/advertencia general a tener en cuenta.
Mi sugerencia sería abrazar la "soltura" del idioma, con tal vez el desarrollo basado en pruebas como una herramienta de asistencia de calidad (JsTestDriver).
no se puede obtener la seguridad de tipo en un lenguaje de tipado dinámico por análisis estático, porque el tipo de cualquier cosa puede cambiar en cualquier lugar durante el tiempo de ejecución. – galambalazs
@galamalazs no puede marcar todos los casos donde esto sucede con una herramienta. la pregunta es si existe alguna herramienta de este tipo. – reinierpost