Кто-нибудь знает, есть ли хороший инструмент для анализа кода JavaScript и обнаружения ошибок типа? Я знаю, что сам JavaScript имеет слабую и динамическую типизацию, но было бы неплохо, если бы у меня была программа, которая проверяла бы, что все мои обращения к полям являются разумными, и что я не пытаюсь трактовать число, например, как строку. Мне известно, что в JavaScript есть допустимые сценарии использования, когда добавление или удаление полей или преобразование между различными типами допустимо и ожидаемо, но некоторые ошибки настолько вопиющие, что кажется, что их можно было поймать до запуска скрипта.
Я слышал о JSLint, но, насколько я понимаю, это в основном инструмент стиля, а не семантический анализатор. Если я ошибаюсь по этому поводу, то просто сказать мне, что будет правильным ответом на этот вопрос.