- Variables
- Objects
- Destructuring
- Default Parameters
- Arrow Functions
- Async/Await
- Modules
- TDD-style exercises: ES6 Katas
- Can I Use
- These fancy new features get supported by browsers and versions of node at different times. It's a gotcha. caniuse is a great resource for finding browser compatibility.
- Using a tool like babel -- a "transpiler"/compiler is one way to make sure the ES6 we write is safe for all browsers.
- In-browser editor for seeing ES6 "transpile" to old JavaScript/ES5: babel repl
- Try the demos and exercises in this repo in the repl to practice writing ES6 and see how it translates to JavaScript/ES5
- Another solution used in conjunction or separate is to "polyfill":
- definition
- polyfill.io
- One caveat with polyfills is that there are some features they cannot patch.
- More on how the two concepts work together at javascript.info
- ES6 in context, tutorial with an app
- ES6 features with their ES5 equivalent
- A brief history