O'Reilly logo
live online training icon Live Online training

Modern JavaScript

Increase your productivity with the latest JavaScript features

Yakov Fain

ECMAScript is a standard for several scripting languages, including JavaScript. Since 2015, a new version of the ECMAScript spec has been published annually. These versions—ES6, ES7, and ES8, respectively—don’t deprecate any old syntax, so you’ll be able to safely run legacy ES5 code in future web browsers or standalone JavaScript engines, but they also include lots of new syntax elements that make the process of writing JavaScript code more productive.

Join expert Yakov Fain for a hands-on, in-depth exploration of the latest JavaScript features and major syntax constructs beyond ES5 and learn how to use them to develop web apps that can be rendered by all browsers. While most modern browsers already support ES6, you'll learn how to use modern JavaScript syntax in development and compile it into the ES5 syntax so that your web apps can be rendered by any browser.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • How to write apps using the latest JavaScript syntax
  • How to work with asynchronous functions using the new async/await syntax
  • How to modularize JavaScript code with ES6 modules

And you’ll be able to:

  • Transpile code from the newer JavaScript syntax into the older one
  • Appreciate the benefits of modern JavaScript
  • Start using modern JavaScript in existing projects

This training course is for you because...

  • You're a busy software developer trying to keep your web development skills up to date.


  • An understanding of JavaScript (ES5 edition) and HTML syntax

Materials or downloads needed in advance:

  • A machine with the Chrome browser installed

Recommended preparation:

Practical Modern JavaScript (book)

What’s the difference between JavaScript and ECMAScript (article)

JavaScript: Practical Guide on Modern JavaScript (Learning Path)

About your instructor

  • Yakov Fain is the coauthor of two editions of Angular Development with TypeScript as well as a number of other technical books on programming. Yakov is a software architect at IT consultancy Farata Systems, where he develops software products for various clients. A Java Champion, he has taught multiple classes and workshops on web and Java-related technologies, presented at international conferences, and published more than a thousand blog posts.


The timeframes are only estimates and may vary according to how the class is progressing

Scope of variables (15 minutes)

  • Lecture and hands-on exercises: Hoisting of variables declarations; block scoping with let and const

Working with strings (15 minutes)

  • Lecture and hands-on exercises: Template literals; multiline strings

What’s new with functions (20 minutes)

  • Lecture and hands-on exercises: Arrow function expressions, this, and that; optional parameters and default values; generator functions

Break (10 minutes)

New operators (15 minutes)

  • Lecture and hands-on exercises: The rest operator; the spread operator; destructuring

Iterating through data collections (20 minutes)

  • Lecture and hands-on exercises: Using the forEach() method; using the for...in loop; using for...of

Classes and inheritance (20 minutes)

  • Lecture and hands-on exercises: Constructors; the extends keyword; the super keyword and the super function; static variables; getters, setters, and method definitions

Break (10 minutes)

Asynchronous processing (20 minutes)

  • Lecture and hands-on exercises: A callback hell; Promises; the async and await keywords

Modularization (20 minutes)

  • Lecture and hands-on exercises: ES6 modules; imports and exports

Transpiling modern JavaScript into the ES5 syntax (15 minutes)