Babel là một trình biên dịch
Javascript mã nguồn mở và
miễn phí có chức năng chính dùng để biên dịch
ECMAScript thành phiên bản tương thích ngược cho
JavaScript có thể chạy trên các môi trường
JavaScript cũ hơn. Babel là công cụ phổ biến để sử dụng các tính năng mới nhất của
Javascript.
[3]Các nhà phát triển có thể sử dụng các tính năng mới của JavaScript bằng cách sử dụng Babel để chuyển đổi mã nguồn của họ thành phiên bản JavaScript mà các trình duyệt hiện hành có thể xử lý.
[4] Babel core được tải về 5 triệu lần mỗi tháng năm 2016, và tăng lên 16 triệu vào năm 2019.
[5][6]Các plugin Babel được sử dụng để chuyển đổi các cú pháp không phổ biến thành các cú pháp có thể tương thích ngược với phiên bản cũ. Một ví dụ như, hàm mũi tên (arrow function), được sử dụng trong ES6, được chuyển đổi thành các hàm khai báo thông thường
[7] Các cú pháp Javscript không chuẩn như
JSX cũng có thể được chuyển đổi.
[8][9]Babel bao gồm các
polyfill để hỗ trợ các tính năng mà một môi trường Javascript cũ không có. Ví dụ các method tĩnh như
Array.from
và
built-ins như
Promise
chỉ khả dụng trong ES6+, nhưng có thể được sử dụng trong các môi trường Javascript cũ nếu có Babel polyfill.
[10]