Babel — это бесплатный транскомпилятор JavaScript с открытым исходным кодом , который в основном используется для преобразования кода ECMAScript 2015+ (ES6+) в обратно совместимый код JavaScript , который может выполняться более старыми движками JavaScript . Это позволяет веб-разработчикам использовать новейшие возможности языка. [4]
Разработчики могут использовать новые возможности языка JavaScript, используя Babel для преобразования своего исходного кода в версии JavaScript, которые может обрабатывать веб-браузер . [5] Babel также можно использовать для компиляции TypeScript в JavaScript. [6] В 2016 году базовую версию Babel загружали 5 миллионов раз в месяц, а в 2019 году это число выросло до 16 миллионов раз в неделю. [7] [8]
Плагины Babel преобразуют синтаксис, который широко не поддерживается, в обратно совместимую версию. Например, стрелочные функции , указанные в ES6, преобразуются в объявления обычных функций. [9] Нестандартный синтаксис JavaScript, такой как JSX, также можно преобразовать. [10] [11]
Babel может автоматически внедрять полифилы, предоставляемые core-js [12] для поддержки функций, которые полностью отсутствуют в средах JavaScript. Например, статические методы, такие как Array.from
и встроенные модули, такие как Promise
ES6 и выше, доступны только в ES6 и более поздних версиях, но их можно использовать в более старых средах, если используется core-js.