Какие аналоги TypeScript важны на практике и как их применять?
Основы TypeScript
Альтернативы TypeScript — другие способы добавить типы к JavaScript или языки, которые компилируются в JS.
Варианты
- JSDoc + `// @ts-check` — типы в комментариях, проверяет тот же компилятор TypeScript. Без шага сборки, удобно для небольших проектов и библиотек.
- Flow — статический анализатор от Meta. Похож на TS, но экосистема почти исчезла.
- ReScript, Elm, PureScript — отдельные языки со строгими типами, компилируются в JS. Сильные гарантии, но другой синтаксис и маленькая экосистема.
- Предложение «Type Annotations» для JavaScript — типы как комментарии в самом языке, пока на ранней стадии.
- Валидация в рантайме (zod, valibot) — не заменяет TS, но проверяет данные из внешнего мира и выводит из схем типы.
// @ts-check
/** @type {(a: number, b: number) => number} */
const sum = (a, b) => a + b;Как применять
Для большинства проектов выбор — TypeScript. JSDoc уместен там, где не хочется сборки; отдельные языки — в нишевых командах.
Коротко для собеседования
Альтернативы — JSDoc с ts-check, Flow, языки вроде ReScript и Elm; рантайм-валидация (zod) дополняет любой из них.