State of ES6 support

As mentioned in Chapter 1, ES6 was finalized in 2015. Since then, browsers have been rolling out support with each incremental update. At the time of writing (March 2016), the current version of Chrome (Chrome 49) has 91% support. The current version of Chrome Canary (a nightly build of Chrome) has 94% support.

While this is great for Chrome, not all browsers currently offer the same level of support. Firefox is pretty close at 91%, and Edge 14 is 86%. But, what about Internet Explorer 11? Unfortunately, IE 11 is at 16%, and it will never get higher than that.

If you want to find out what the level of support is for each individual browser, check out the Kangax Compatibility Table 1. It is a great reference for which browsers or environments support what.

Looking at the table, you will see that most browsers are improving their support of ES6 features. Unfortunately, some are not, and even worse, some will never change. We can not always bank on users only using something like Chrome or Firefox. As developers, we need to make sure that we are supporting the widest range of browsers we need to for our projects. In order to do this, we need to take our ES6 code and transpile it down into ES5 JavaScript that will be readable by the browser.

What is transpiling?

Transpiling is the act of taking one language and compiling it to another language. It is also referred to as source-to-source compiling. Let’s take this example:

Get hands-on with 1200+ tech skills courses.