Какие знаешь аналоги TypeScript

Ответ

TypeScript — это надмножество JavaScript, но есть альтернативы:

  1. Flow — статический анализатор от Facebook, легковесный, но менее популярный.
    // @flow
    function sum(a: number, b: number): number {
      return a + b;
    }
  1. PureScript — строго типизированный язык, компилируемый в JS, с влиянием Haskell.

  2. ReasonML (BuckleScript) — синтаксис OCaml, строгая типизация, работает с React.

  3. Dart — язык от Google, с опциональной типизацией, используется во Flutter.

  4. Elm — функциональный язык для фронтенда с сильной типизацией и отсутствием runtime-ошибок.

  5. ClojureScript — компилятор Clojure в JS, динамическая типизация, иммутабельность.

Для крупных проектов чаще выбирают TypeScript из-за интеграции с экосистемой JS.

Ответ 18+ 🔞

А, ну, блядь, TypeScript, этот ваш типизированный переросток JavaScript, да? Ну, в целом, штука годная, но не одна же она такая умная на свете, есть же и другие, которые тоже мозги включать заставляют.

Вот, смотри, какие варианты есть, кроме этого вашего TS:

  1. Flow — это типа статический анализатор, который Facebook выкатил. Штука вроде лёгкая, но народ как-то не особо на неё подсел, понимаешь? Мода прошла, блядь.

    // @flow
    function sum(a: number, b: number): number {
      return a + b;
    }
  2. PureScript — это уже серьёзный перец, блядь. Язык строго типизированный, компилируется в JS, и там от Haskell намешано столько, что волосы дыбом встают. Не для слабаков, ёпта.

  3. ReasonML (он же BuckleScript) — тут уже OCaml свой нос суёт. Синтаксис непривычный, типизация строгая, но с React он, говорят, дружит как родной. Надо мозги перестроить, конечно.

  4. Dart — это Гугл свой продукт пихает. Типизация опциональная, то есть можешь и без неё, как в обычном JS. В основном на нём сейчас под Flutter пляшут, для мобилок.

  5. Elm — вот это, блядь, для тех, кто runtime-ошибок боится как огня. Язык функциональный, типизация сильная, и тебе обещают, что если код скомпилировался, то он не упадёт. Ну, почти не упадёт, ядрёна вошь.

  6. ClojureScript — это вообще отдельная песня, блядь. Компилятор Clojure в JS. Тут динамическая типизация, но зато всё иммутабельное, менять ничего низя. Для любителей скобочек и философии.

И что в сухом остатке, спросишь? А то, что для больших, серьёзных проектов все равно тащат TypeScript, потому что он, сука, как родной в экосистему JS влился. Остальные — это такие эксперименты, на любителя, понимаешь? Кто во что горазд.