Babel is a
free and
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
transcompiler
A source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent sou ...
that is mainly used to convert
ECMAScript 2015+ (ES6+) code into backwards-compatible
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
code that can be run by older
JavaScript engine
The first engines for JavaScript were mere interpreters of the source code, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typically developed by web browser vendors, and every maj ...
s. It allows web developers to take advantage of the newest features of the language.
Developers can use new JavaScript language features by using Babel to convert their source code into versions of JavaScript that a
Web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
can process. Babel can also be used to compile
TypeScript
TypeScript (abbreviated as TS) is a high-level programming language that adds static typing with optional type annotations to JavaScript. It is designed for developing large applications and transpiles to JavaScript. It is developed by Micr ...
into JavaScript. The core version of Babel was downloaded 5 million times a month in 2016, and this increased to 16 million times a week in 2019.
Babel plugins transform syntax that is not widely supported into a backward-compatible version. For example,
arrow functions, which are specified in ES6, are converted into regular function declarations. Non-standard JavaScript syntax such as
JSX can also be transformed.
Babel can automatically inject
polyfills provided by core-js
for support features that are missing entirely from JavaScript environments. For example, static methods such as
Array.from
and
built-ins such as
Promise
are available only in ES6 and above, but they can be used in older environments if core-js is used.
See also
*
Comparison of web browsers
This is a comparison of both historical and current Web browser, web browsers based on developer, engine, platform(s), releases, license, and cost.
General information
Basic general information about the browsers. Browsers listed on a light purpl ...
*
TypeScript
TypeScript (abbreviated as TS) is a high-level programming language that adds static typing with optional type annotations to JavaScript. It is designed for developing large applications and transpiles to JavaScript. It is developed by Micr ...
*
Web development tools
Web development tools (often abbreviated to dev tools) allow web developers to test, modify and debug their websites. They are different from website builders and integrated development environments (IDEs) in that they do not assist in the direct ...
*
Webpack
Webpack is a free and open-source module bundler for JavaScript. It is made primarily for JavaScript, but it can transform front-end assets such as HTML, CSS, and images if the corresponding loaders are included. Webpack takes modules with depend ...
JavaScript bundler
*
JavaScript library
A JavaScript library is a library of pre-written JavaScript code that allows for easier development of JavaScript-based applications, especially for AJAX and other web-centric technologies. They can be included in a website by embedding it directl ...
References
External links
*
GitHub projectOrigin story
{{JavaScript
JavaScript programming tools
Software using the MIT license
Source-to-source compilers
Free software programmed in JavaScript
Cross-platform free software