Babel (trình biên dịch)

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. 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ý. 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. 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 Các cú pháp Javscript không chuẩn như JSX cũng có thể được chuyển đổi. 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ư Promisechỉ 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. TypeScript ^ “Babel.js Latest Release”. Truy cập ngày 29 tháng 2 năm 2020. ^ “babel/LICENSE at master”. GitHub. Truy cập ngày 12 tháng 5 năm 2018. ^ “Technology Radar | Emerging Technology Trends for 2017 | ThoughtWorks”. www.thoughtworks.com. Truy cập ngày 12 tháng 5 năm 2018. ^ “Why Babel Matters | codemix”. codemix.com. Truy cập ngày 12 tháng 5 năm 2018. ^ “The State of Babel · Babel”. babeljs.io. Truy cập ngày 12 tháng 5 năm 2018. ^ “Babel's Funding Plans · Babel”. babeljs.io. Truy cập ngày 1 tháng 8 năm 2020. ^ “Plugins · Babel”. babeljs.io. Truy cập ngày 5 tháng 7 năm 2019. ^ “Introducing JSX - React”. reactjs.org. Truy cập ngày 12 tháng 5 năm 2018. ^ “Using React and building a web site on Azure”. Microsoft Faculty Connection. Truy cập ngày 12 tháng 5 năm 2018. ^ “@babel/polyfill”. babeljs.io. Truy cập ngày 5 tháng 7 năm 2019. Trang web chính thức GitHub project Origin story