Обновить
2
0

Пользователь

Отправить сообщение
Да нет же, это две независимых вещи
typescript, насколько я понимаю язык, в котором синтаксис типов является хоть и центральной, но далеко не единственной синтаксической фичей
flowtype же, это инструмент статического анализа, который позволяет проверять типы, и на этом все
При этом я полагаю что делает он эту задачу лучше(во всяком случае в первом примере для flowtype, typescript не видит никаких проблем)

И да, к слову, flowtype все-таки позволяет описывать типы в комментариях.
То есть вы все-таки можете использовать типы, и при этом писать «чистый» JS.
Правда сам синтаксис остается принципиально тем же(просто экранирован комментариями), так что в этом мало смысла, если вы используете IDE, знающую о flowtype — поэтому я не вижу смысла в этой «чистоте».
Но это скорее дело личного вкуса.
Есть и другие инструменты проверки типов в рантайме(а, также на этапе трансляции/сборки).
Из известного мне — github.com/codemix/babel-plugin-typecheck.

Это плагин к babel, который автоматически добавляет проверки на тип, если вы описали тип.
Для описания типов используется flow type (http://flowtype.org/) синтаксис.

плюсы:
+ возможность проверять не только входящие аргументы, но и локальные переменные.
+ не нужна принудительная верблюжья нотация для описания типов — для описания типов используется отдельный синтаксис.
+ не нужно как-то особо описывать используемые вами классы
плагин самостоятельно сгенерит typeof/instanceof-проверки, если вы задали настоящий JS-тип для переменной
+ скорость в рантайме. Не приходится использовать Proxy, а сами проверки встраиваются инлайново, а не вызовами функций.
+ оттранслированный код работает в любом окружении, а не только там, где есть Proxy.
минусы:
— не всем может понравится синтасис описания типов в коде.
Это уже не чистый JS, хотя и поддерживаемый некоторыми IDE

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность