PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что делает Babel?

Продвинутые темы

Babel — это транспайлер JavaScript: он преобразует современный JS (ES2015+) и синтаксические расширения (JSX, TypeScript) в код, понятный старым браузерам и окружениям.

Что делает

  • Транспиляция синтаксиса — стрелки, классы, деструктуризация, async/await → эквивалент на ES5.
  • JSX → JS — превращает JSX в вызовы React.createElement/jsx.
  • TypeScript/Flow — вырезает аннотации типов (без проверки типов).
  • Полифилы — через core-js добавляет недостающие методы (Promise, Array.includes).
// Вход
const sum = (a, b) => a + b;
// Выход (ES5)
var sum = function (a, b) { return a + b; };

Как настраивается

  • Presets — наборы плагинов: @babel/preset-env, @babel/preset-react, @babel/preset-typescript.
  • Plugins — точечные преобразования.
  • Browserslist — целевые браузеры, под которые компилировать.

Babel против TypeScript-компилятора

Babel только вырезает типы (быстро, без проверки), tsc проверяет типы. Часто их совмещают: tsc для проверки, Babel/esbuild для сборки.

Коротко для собеседования

Babel — транспайлер: превращает современный JS, JSX и TS в совместимый код через пресеты и плагины, добавляет полифилы через core-js. Типы он только вырезает без проверки, поэтому его совмещают с tsc.

Другие вопросы раздела