Lesson Tuesday

JavaScript development is in a constant state of evolution. A big part of being a JS developer is keeping up with changes to popular libraries, frameworks, and the language itself. Frameworks that were popular a few years ago (such as backbone.js) are quickly replaced by cutting edge frameworks (like react.js). Node modules become outdated and deprecated. Libraries are in a constant state of churn.

ES6, also, somewhat confusingly known as ES2015, adds new functionality to JavaScript. Much of this functionality has since been widely adopted by JavaScript developers. (ECMAScript is the “official” name for JavaScript.) In the next few weeks, we’ll cover some of the most popular ES6 features, including the let and const keywords, fat arrow notation, and template literals.

We’ll also learn about promises, which help us manage asynchronous code. Promises are a great example of how functionality gets incorporated into JavaScript. Until ES6, developers had to use libraries like Promise.js and Bluebird.js if they wanted to add this functionality to their applications. However, promises proved to be so popular that they became native to ES6.

We’ll even get the opportunity to learn about observables in week 4, a proposed addition to ES7. Currently, developers use the RxJS library if they want to incorporate observables in their applications, but observables are so useful that it’s quite likely that they’ll become native to JavaScript. If you’re interested, you can even take a look at proposals for the next edition of JavaScript (ES7).

By the end of week 2, you’ll be able to use the following ES6 features:

  • let and const keywords
  • Fat arrow notation
  • Template literals
  • Promises
  • class keyword
  • Modules

You’re also encouraged to explore other ES6 features on your own. You can learn more about ES6 features here.