. Because ES6 was such a massive change with so many new syntactic changes, you needed Babel (then known as 6to5
because it converted ES6 to ES5) to take advantage of generators, promises, arrow functions, and classes. Generators
, in particular, were exceedingly difficult to mimic in ES5
. But they were also the first mechanism that enabled writing truly asynchronous JS without callbacks.