Тип проверки для JavaScript? - PullRequest
7 голосов
/ 08 февраля 2011

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

Я слышал о JSLint, но, насколько я понимаю, это в основном инструмент стиля, а не семантический анализатор. Если я ошибаюсь по этому поводу, то просто сказать мне, что будет правильным ответом на этот вопрос.

Ответы [ 4 ]

7 голосов
/ 08 февраля 2011

Компилятор закрытия Google выполняет некоторую проверку типов, если вы следуете их рекомендациям по аннотированию своих функций комментариями jsDoc. Смотри http://code.google.com/closure/compiler/docs/js-for-compiler.html

2 голосов
/ 03 августа 2016

Еще одна опция - https://github.com/yarax/typelint

Это плагин EsLint, который выполняет проверку типов на основе аннотаций JSDoc.

Кроме того, он поддерживает собственное расширение для использования состояний Redux или схем Swagger.(в основном любая схема JSON) для проверки типа.Поэтому вам не нужно описывать сложные составные типы самостоятельно.

1 голос
/ 08 февраля 2011

Невозможно уверенно проводить статический анализ с использованием какого-либо автоматизированного инструмента из-за динамической природы JavaScript.Тем не менее, один инструмент, который отлично справляется с работой, - это WebStorm от Jetbrain и другие IDE, которые поддерживают JavaScript.

0 голосов
/ 23 ноября 2016

В Facebook есть новая программа проверки типов - flow .

. Имеется плагин , который преобразует аннотации JSDoc в аннотации потока.

...