Original author(s) | Sebastian McKenzie |
---|---|
Developer(s) | contributors |
Stable release | 7.6.1
/ September 6, 2019[1] |
Written in | JavaScript |
Operating system | Linux, macOS, Solaris, FreeBSD, OpenBSD, AIX, Microsoft Windows |
Type | compiler |
License | MIT[2] |
Website | babeljs |
Babel is a free and open-source JavaScript transpiler that is mainly used to convert ECMAScript 2015+ (ES6+) code into a backwards compatible version of JavaScript that can be run by older JavaScript engines. Babel is a popular tool for using the newest features of the JavaScript programming language.[3]
Developers can use new JavaScript language features by using Babel to convert their source code into versions of JavaScript that evolving browsers are able to process.[4] The core version of Babel is downloaded 5 million times a month as of 2016.[5]
Babel plugins are used to transform syntax that is not widely supported into a backwards-compatible version. For example, arrow functions, which are specified in ES6, are converted into regular function declarations.[6] Non-standard JavaScript syntax such as JSX can also be transformed.[7][8]
Babel provides polyfills to provide support for features that are missing entirely from JavaScript environments. For example, static methods like Array.from
and built-ins like Promise
are only available in ES6+, but they can be used in older environments if a Babel polyfill is used.[9]