We dedicate this site to all the hardworking Web application developers trying to stay ahead of the game in an everchanging landscape of chaos and fun.
Click a solid lime green box below to try out a new feature in ECMAScript supported by either traceur or natively in your browser which supports ?% of the examples.
Click the or the next to the walkthrough name to view the specification documentation.
At the moment, Firefox Nightly has the best support for ES6 with 75% of the ES6 features implemented. Go get it.
The next best recommendation is Chrome Canary with 65% of ES6 features implemented.
Right behind the bleeding edge options are Firefox Stable at 64% and Chrome Stable at 59% of ES6 features implemented.
Not worth your time with only 11% of ES6 features implemented. Maybe IE 12 in Windows 9 10 will have better support.
I recently gave a talk to some fine developers at the Houston TechFest 2014. I did not know that I had time allotted to me to talk and, therefore, had not prepared any material.
When I arrived at the lectern, I looked out over the room and mentioned my unpreparedness. While I plugged in my laptop to the projector, I thought about all the cool stuff I had learned and used recently. When I said that I did not know what to talk about, someone called out "JavaScript"! I asked why I should talk about that; the audience member replied, "Because we're in the JavaScript room!"
Being no stranger to JavaScript, I asked how many people had heard of ECMAscript 6, ECMAscript Harmony, or the like. Only one person raised their hand! I talked about the features in the upcoming version of ES and saw that a lot of the audience appeared interested in the topic. The following week, I started asking some of my coworkers if they knew about ES6 and the cool stuff in it. I found very few that did.
I searched around the World Wide Web to find some tutorials from which my friends and coworkers could learn. I found a few, sprinkled around the Internet, containing some pretty dated material. So, I have tried to bring it all together in one place. I hope you get some use out of it.
Curtis Schlak
dataes6.js
for information about ES6 features
and the tests that demonstrate that.
Interesting narrated walkthroughs  Supported by...?  

let and const 

class and super 

Syntactic sugar for property and method declarations  
Arrow functions  
Promises  
Proxy objects  
Reflection methods  
"Spreading", otherwise known as splicing, arrays and strings into other arrays and function calls  
Sticky regular expressions  
Collections  Native nonArray collections  
Weak native nonArray collections  
Stronglytyped Arrays  
Views into stronglytyped Arrays  
Destructuring  Complex direct assignments  
Complex assignments of default parameters  
Complex assignments of parameter values  
Complex assignment to a spread  
Flow control  for..of loops (instead of for..in ) 

Generator functions (and the yield keyword) 

Functions  Turning functions into methods  
Default function parameters  
Binding the remaining parameters of a function to a single variable  
Name property of functions  
Tailcall recursion  
Blocklevel scoping of function declarations  
Metaprogramming  Computed properties  
Getter and setter prototype property  
Mixin properties of other objects  
Use a function to set the prototype of an object  
Modules  export keyword 

Module loader  
String handling  Template strings  
Destructuring template strings  
New string from repeating a single string  
Programmatic substitution in template strings  
Symbols  Simple symbols as properties  
Advanced symbols for conversion 
Boring textonly experiences  Supported by...?  

Array extensions  Array.from  
Array.of  
Array.prototype.copyWithin  
Array.prototype.entries  
Array.prototype.fill  
Array.prototype.find  
Array.prototype.findIndex  
Array.prototype.keys  
Array.prototype.values  
Array.prototype[Symbol.unscopables]  
Math extensions  Math.acosh (inverse hyperbolic cosine)  
Math.asinh (inverse hyperbolic sine)  
Math.atanh (inverse hyperbolic tangent)  
Math.cbrt (cube root)  
Math.clz32 (count leading zero bits)  
Math.cosh (hyperbolic cosine)  
Math.expm1 (e^{x}  1)  
Math.fround (float round)  
Math.hypot (square root of the sum of squares)  
Math.imul (integer multiplication)  
Math.log10 (base10 logarithm)  
Math.log1p (natural logarithm of 1 + x)  
Math.log2 (base2 logarithm)  
Math.sign (the sign of a number)  
Math.sinh (hyperbolic sine)  
Math.tanh (hyperbolic tangent)  
Math.trunc (truncation of the fraction part of a number)  
Number extensions  Number.EPSILON  
Number.MAX_SAFE_INTEGER  
Number.MIN_SAFE_INTEGER  
Number.isFinite  
Number.isInteger  
Number.isNaN  
Number.isSafeInteger  
Regular expression extensions  RegExp "u" flag  
RegExp.prototype.compile  
RegExp.prototype.match  
RegExp.prototype.replace  
RegExp.prototype.search  
RegExp.prototype.split  
String handling  String.fromCodePoint  
String.prototype HTML methods  
String.prototype.codePointAt  
String.prototype.contains  
String.prototype.endsWith  
String.prototype.normalize  
String.prototype.startsWith  
Unicode code point escapes 