Likewise, the object.values/object.entries is another improvement. The object.entries function can be used to iterate over objects (finally!) and, likewise, object.values returns the values of the enumerable string-keyed properties.
What about Browser Support?
Tower of Babel
Originally, Babel was called 625, said Henry Zhu, a contributor on the project. He said the first intent of the project, before he’d joined, was to build a compiler that could turn ECMAScript 6 code into ECMAScript 5 code, enabling it to run on older browsers.
Since that time, a second mission has arisen out of this ability to spread language updates even before browsers support them. Babel gives developers a way to try out the newest features, and even use them inside applications before support is available in the mainstream.
A perfect case in point is the newly added async functions in ECMAScript 8. This feature was added into Babel as far back as 2015, enabling the community to get used to the functionality and syntax of this new feature long before it arrived.
Zhu said that string padding was already in the works when the npm incident happened. “It’s funny because it was proposed before the incident happened. It was already at stage 3. People joke that’s what pushed it over,” said Zhu.