В процессе развития технолгического стека Frontend образовались промежуточные языки, распологающиеся поверх обычного языка.
Данный язык обычно используется чтобы упростить какой-то из аспектов разработки, сделать его более удобным, добавить какой либо подход (его возможности и ограничения). Некоторые фреймворки требует при своем использовании именно опеределенный промежуточный язык.

Схема:
Разработчик -> код на промежуточном языке -> компиляция -> код на языке, понятном испольнителю

Основной язык Промежуточный язык Комментарий Расширения
JavaScript Babel https://babeljs.io | Используется в фреймворке ReactJs .jsx
JavaScript TypeScript https://www.typescriptlang.org | Добавляет более строгую типизацию переменных .ts
JavaScript ReasonML https://reasonml.github.io
JavaScript Fable https://fable.io
CSS SASS
CSS LESS