As JavaScript developers, we always want to get our hands on the latest hotness. Luckily for us, the new 2016 and 2017 specifications for ECMAScript are that new hotness. The language is changing fast, and that comes with a few downsides. At our current rate of change, browser vendors struggle to implement all of the new language features. Fortunately, Babel is a tool that most of us JavaScript developers rely on to compile our ECMAScript 2015+ into browser-friendly ES5.
However, Babel is more than an ECMAScript 2015 to ES5 transformer. Babel is a compiler. We can use Babel's compiler magic to unlock a world of potential for JavaScript developers. Let's take a dive into how Babel's works internally and discuss a subset of computer science that most of us don't think about every day--compilers! We'll walk through the stages of Babel, discover why ASTs are powerful, and write Babel plugins to super-charge our code. The discussion will then focus on the important role that Babel plays in the JavaScript community as a whole.