ECMAScript 2017 (ES8) was released at the end of June 2017 by Technical Committee number 39 (TC39). It's part of ECMA, the institution that standardizes the JavaScript language under the ECMAScript specification. Currently, the standard aims to publish a new ES specification version once a year. ES6 was published in 2015 and ES7 was published in 2016. A lot changed when ES6 was released (arrow functions, classes, generators, module loaders, async programming, and so on) and even more interesting stuff keeps happening, as time goes by.
In this chapter, we'll be starting off with the fundamentals of JavaScript, starting off with ES6 basics and heading towards ES8 stuff. Furthermore, we'll be taking a look at some interesting aspects of traditional JS such as closures, and some new ones such as arrow functions.
As an autodidact, I highly recommend not only reading this book, but also trying to apply whatever you're learning here in some small but interesting projects. This will help you to retain a lot of stuff effortlessly.
In this chapter, we'll be covering:
- Creating block-scoped variables using the let keyword
- Creating constant variables using the const keyword
- The spread operator and the rest parameter
- Hoisting
- Extracting data from iterables and objects using a destructuring assignment
- Arrow functions
- Closures and how to deal with them
- Use of semicolons in JavaScript
- Benchmarking let versus var versus const
- The new syntaxes for creating object properties