O'Reilly logo
live online training icon Live Online training

Modern JavaScript Development

Take Your JavaScript Skills to the Next Level

Topic: Web & Mobile
Andy Olsen

This Modern JavaScript Development course is the training you need to take your skills to the next level. JavaScript has undergone a transformation in recent years. It now has full support for object-oriented programming, functional programming (via arrow functions), asynchronous programming, and modular development (via CommonJS modules). JavaScript also now has some extremely useful syntactic features such as destructuring, the spread operator, generators, and more besides. This 8-hour class will walk you through these new features and show you how to use them with step-by-step examples and demos.

This training takes a thorough look at all the new features in JavaScript from ECMASript6 to ECMAScript10, and also shows how to transpile into classic JavaScript for compatibility with all browsers. Andy Olsen, veteran trainer and author, provides labs so you can follow along and get the experience you need. Andy will provide full source code and solutions on GitHub, plus some bonus exercises and solutions that you can take away for additional exploration and added value.

Get the most out of your JavaScript programming by updating your knowledge to the latest version of the ECMAScript standard.

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

  • Arrow functions and other function enhancements
  • Modules
  • Destructuring
  • Array and object enhancements
  • Object-oriented programming using classes and inheritance
  • Iterables, iterators, and generators
  • API enhancements
  • Asynchronous working

This training course is for you because...

  • You’re a frontend developer and you want to write effective JavaScript code
  • You have experience in classic JavaScript and you need to update your skills to use the new features and capabilities available in the latest versions of ECMAScript


  • Experience with earlier versions of JavaScript, for example ECMAScript 5
  • Familiarity with HTML and CSS

Course Set-up

Recommended Preparation

Recommended Follow-up

About your instructor

  • Andy is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and morphed into Java, C#, and other languages as the years and decades passed by. Andy is actively involved in a wide range of technologies including full stack development, cloud native applications, data science, and more. Andy is passionate about technology education and runs training courses around the world across diverse market sectors.


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


Segment 1: Getting Started with ECMAScript 6++ - Length (60 min)

  • Overview of ECMAScript versions
  • Tool support
  • Variables, scope, and string literals
  • Function enhancements
  • Arrow functions and functional programming
  • Hands-On: Using core language features

Break Length (5 min)

Segment 2: Destructuring - Length (45 min)

  • What is destructuring?
  • Array destructuring
  • Object destructuring
  • Destructuring techniques
  • Hands-On: Using destructuring effectively

Segment 3: Miscellaneous New APIs - Length (30 min)

  • Number and Math enhancements
  • String enhancements
  • Regular expression enhancements
  • Hands-On: Applying the new APIs

Break Length (5 min)

Segment 4: Array Enhancements - Length (45 min)

  • Core Array enhancements
  • Typed arrays
  • Hands-On: Using array enhancements

Segment 5: Object Enhancements - Length (50 min)

  • Object literal enhancements
  • Symbols
  • New methods in Object
  • Hands-On: Using object enhancements


Segment 6: Classes - Length (45 min)

  • Defining classes
  • Encapsulation
  • Statics
  • Inheritance
  • Hands-On: Using object orientation effectively

Break (5 min)

Segment 7: Collections - Length (45 min)

  • Map
  • WeakMap
  • Set
  • WeakSet
  • Hands-On: Using collections in practice

Break (5 min)

Segment 8: Iterables, Iterators, and Generators - Length (60 min)

  • Introduction to iterables and iterators
  • Implementing iterable objects
  • Generators
  • Hands-On: Practical applications of iterables, iterators, and generators

Break (5 min)

Segment 9: Modules - Length (30 min)

  • Introduction to modules
  • Importing and exporting syntax
  • Additional techniques
  • Hands-On: Organizing web applications as modules

Segment 10: Asynchronous Working - Length (45 min)

  • Introduction to Promises
  • Using Promise objects
  • Example of Promises
  • Async functions
  • Asynchronous iteration
  • Shared memory and atomics
  • Hands-On: Using asynchronous techniques

Course wrap-up and next steps