Accelerated ES6 JavaScript Training
4.7 (4,244 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
23,783 students enrolled

Accelerated ES6 JavaScript Training

Learn and Use the Future of JavaScript - Today!
4.7 (4,244 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
23,786 students enrolled
Last updated 7/2020
English, Spanish [Auto]
Current price: $76.99 Original price: $109.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 17 articles
  • 12 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand and Use the new Features and Concepts introduced with ES6
  • Get an Overview over the Language Additions and Changes
  • Confidently apply the new Syntax, new APIs and other new Features in Web Applications
Course content
Expand all 115 lectures 05:51:51
+ Introduction
6 lectures 09:47

Let me give you an introduction to this course and its content!

Preview 03:26

Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!

Join our Online Learning Community

What does ES5 and ES6 mean? This lecture answers this question.

Preview 01:23

I use a very "hands-on" format in this Course. Learn more about it, in this lecture.

Preview 01:28

ES6 isn't natively supported by all Browser yet, or at least not all Features are. It's important to know which Features may or may not be used. This compatibility chart should be helpful to you.

ES6 Compatibility with Browsers

Learn how to use ES6 today!

Using ES6 Today
+ Syntax Changes & Additions
16 lectures 01:04:24

The "let" keyword is a brand-new addition to JavaScript and whilst it allows us to create variables like "var" does, it also introduces "Block Scope" to JavaScript. What all that is? Have a look at this lecture to learn more!

Preview 04:57

Besides "let", "const" was added to make the declaration of constants easy.

Preview 03:31

With let & const, Hoisting changed a bit in ES6, learn how it changed, with this lecture.

Hoisting in ES6

ES6 introduces a new way to write Functions - the (Fat) Arrow Syntax. Learn how it works and what's special about it, in this lecture.

Preview 07:46

Besides a different Syntax, (Fat) Arrow Functions introduce one huge new feature/ change to functions. Learn which change it is, with this video.

(Fat) Arrow Functions and the "this" Keyword

This lectures teaches you how to set and work with Default Parameters in JavaScript Functions.

Functions and Default Parameters

When creating Objects with the Literal Notation, you now got some new tools available. Learn more in this lecture.

Object Literal Extensions

A couple of new operators were added with ES6, one important one is the Rest Operator, which is explained in this lecture.

The Rest Operator

Closely related to the Rest Operator, the Spread Operator is another new operator added with ES6. This lecture shows you how to work with it.

The Spread Operator

A new Loop was added with ES6. Learn all about it in this lecture.

The for-of Loop

There's also a new way to create (complex) strings. This lecture dives into Template Literals and gets you going with them.

Template Literals

A new concept was added with ES6: Destructuring. Learn more about it and see how it is used with Arrays, in this lecture.

Destructuring - Arrays

Like Arrays, Objects may be destructured as well.  Learn more about it, in this lecture.

Destructuring - Objects

Time to summarize Destructuring and tie all things together.

Destructuring - Summary

A quick wrap up of this module.

Wrap Up
Module Resources
+ Modules & Classes
17 lectures 43:40

Let me give you a brief module introduction and explain what Modules and Classes are.

Alternative Plunker Setup

As ES6 doesn't run natively in the Browser yet, we need to set up some things in our workspace before we can use Modules. This lecture shows the necessary steps.

Modules Setup

Time to dive into Modules and cover their basics.

Modules Basics

There are different ways to export or import code with ES6 Modules. This lecture shows and explains the different ways to do it.

Import & Export Syntax

There are some important things to know, when working with ES6 Modules. Have a look at this article to quickly understand it.

Modules - Strict Mode and Global Scope

Classes make the creation of Object Blueprints even easier than before. Learn how to work with classes, in this lecture.

Class Basics

It's important to understand how Classes work together with Prototypes. This lecture will get you there.

Classes & Prototypes

A big feature of ES6 is, that the classes may also inherit from each other. This lecture shows how that works.


With ES5, Prototypes were the way to implement Inheritance in JavaScript. With Inheritance now also available with the ES6 classes, the question is how both concepts are related. This lecture dives into that question.

Inheritance & Prototypes

ES6 classes may also expose static methods which can be used without instantiating a class. This lecture explores this concept.

Static Methods

Time to combine Classes and Modules and see how both concepts work together.

Classes & Modules

You may also encapsulate certain properties in your classes and use Getters and Setters for that.

Getters & Setters

You may not only extend your own Classes, you can also extend built-in Objects. This lecture dives into that concept.

Extending Built-in Objects

Learn which built-in Objects may be extended.

Extendable Built-in Objects

A quick module wrap up.

Wrap Up
Module Resources
+ Symbols
6 lectures 18:25

Let me give you a brief introduction to this modules and ES6 Symbols.

Preview 02:10

What are Symbols? This lecture answers this question.

Preview 04:31

We just learned that Symbols provide a unique ID. But there's also the possibility of sharing one ID over multiple Symbols. How and why? Have a look at this lecture.

Shared Symbols

Let's have a look at the advantages (unique) IDs/ Symbols offer us.

Advantages of (unique) IDs / Symbols

Built-in Objects in JavaScript use Symbols and we can take advantage of those "well-known" Symbols. This lecture dives deeper into this topic.

Well-Known Symbols
Module Resources
+ Iterators & Generators
8 lectures 24:06

A quick module introduction.


Let's dive into Iterators first. This lecture gives you the basics about them.

Iterator Basics

Now that we know what Iterators are, it's important to see them in action. This lecture will do just that.

Iterators in Action

The cool thing about Iterators is, that we can use them in our own objects. Learn how to do that, with this lecture.

Creating a Custom, Iterateable Object

Iterators are one half of that module, Generators are the other. What are Generators? Have a look at this lecture to learn more.

Generators Basics

As with Iterators, it's best to see Generators in Action and also learn how they are related to Iterators.

Generators in Action

What if you wanted to control the execution flow of your Iterator? You can do that with throw() and return(), as this lecture shows.

Controlling Iterators with throw and return
Module Resources
+ Promises
8 lectures 18:24

Let me introduce the concept of Promises and this module to you.


The first important step is to understand how Promises are created and how to work with them. This lecture explores those topics.

Creating & Resolving Promises

A Promise might not be resolved due to various reasons, therefore, you can also reject it. Learn how, in this lecture.

Rejecting Promises

What's better than one Promise? Multiple Promises, used together! 

Chaining Promises

You already learned how to reject Promises and handle that case. But there's also another way to handle rejected Promises. This lecture shows which way I mean.

Catching Errors

There exist some cool, built-in methods for Promises. Learn more about them, in this lecture.

Built-in Methods - All and Race

A quick wrap up of the concepts learned in this module.

Wrap Up
Module Resources
+ Extensions of Built-in Objects
9 lectures 35:37

A quick module introduction.


The built-in Object object received some additions and new features. Learn more about it in this lecture.

The Object

The Math Object also saw some additions. Let's dive into some of them!

The Math Object

There are now even more things you can do with Strings in JavaScript. Let's have a closer look in this video.


You already guessed it, the Number Object also has some new tricks to show. Let's have a look at them.

The Number Object

Arrays got loads of new features and methods, time to have a look at them.

Arrays (1/2)

Arrays got loads of new features and methods, time to have a look at them.

Arrays (2/2)

A quick module wrap up.

Wrap Up
Module Resources
+ Maps & Sets
12 lectures 28:54

Let me give a brief introduction to Maps and Sets and this Module in general.

Preview 01:02

How does a Map work, how is it created and how can you add items to it? This lecture answers these questions.

Preview 02:42

We got items in the Map. And now what? There are a couple of ways to work with those items. This lecture explores your possibilities.

Maps - Managing Items

As a Map is a collection, you may loop through it. This lecture shows how.

Maps - Looping through Maps

Time for a quick summary of the concepts learned and the Map Object.

Maps - Wrap Up

Besides the Map, there also is the WeakMap. What's that? This lecture explains it, as well as the differences between the "normal" Map and the WeakMap.

The WeakMap

Besides Maps, Sets are another new form of Collections in ES6. Let's learn what they are, how they work, how to create a Set and how to add items to it.

Sets - Creation and Adding Items

Like Maps, Sets also don't hold Items to then do nothing with them. Therefore, let's have a look at the interaction possibilities we have.

Sets - Managing Items

Of course you may also loop through sets. There's an interesting behavior, as we will see in this lecture.

Sets - Looping through Sets

Let me summarize the different concepts learned.

Sets - Wrap Up

We not only have Maps and WeakMaps, we also have WeakSets. Not what's that? Learn more, in this lecture.

The WeakSet
Module Resources
+ The Reflect API
10 lectures 38:18

A quick module introduction.


The Reflect API offers you a method to create objects. Yet another way? Yes, but you'll also learn why it has this method.

Creating Objects with Reflect.construct()

You may also call functions with the Reflect API. Why and how? Have a look at this lecture.

Calling Functions with Reflect.apply()

The Reflect API also offers some new methods to work with Prototypes. Learn which methods that are and how you may use them.

Reflect and Prototypes

See how you can combine the various Reflect API methods discussed until now.

Reflect.construct(), apply() and Prototypes Interaction

 You may also access Properties through the Reflect API. Learn more, in this lecture.

Accessing Properties with Reflect

Accessing Properties is great, but what if you want to find out which Properties an object has? The ownKeys() method might be helpful!

Analyzing Objects with Reflect.ownKeys()

Accessing Properties, analyzing Properties - can we also create and delete Properties? Of course we can!

Creating & Deleting Properties with Reflect

You can also control if an Object should be extendable or not. Additionally, I'll give a short wrap up of that module.

Preventing Object Extensions & Wrap Up
Module Resources
+ The Proxy API
9 lectures 23:59

What are Proxies? And why might they be useful? This lecture will answer these questions.


So, Traps are an important part of Proxies. Let's see how they actually work.

Traps in Action

I mentioned it all the time: Proxies and the Reflect API work together very well. Let's see that in action.

Proxies and Reflect

Now we're getting fancy - you may use Proxies as Prototypes. This lecture shows you how to do that.

Using Proxies as Prototypes

We're getting even fancier - you can also wrap Proxies! Why and how? Let's have a look.

Proxies as Proxies

Back to "more normal" use cases. You may also wrap functions, not only objects.

Wrapping Functions

Sometimes, you only temporarily want to use a Proxy. For such an use case, you may use revocable Proxies.

Revocable Proxies

A quick module wrap up.

Wrap Up
Module Resources
  • Basic to advanced JavaScript knowledge or resources on ES5 JavaScript follow along, are required
  • Basic Web Development Skills (HTML, CSS, JavaScript) are assumed
  • Advanced JavaScript Knowledge is a Plus

Learn modern JavaScript!

Knowing modern JavaScript, ES6 (ECMAScript 6), is extremely important in the world of JavaScript! ES6 adds tons of new features, methods, objects and helpers and the earlier you feel confident using them, the better!

Get the "All-In-One" package today!

This course follows a hands-on, example-driven approach to show and explain all the important features added to JavaScript. This includes important syntax changes and additions like let, const, rest & spread operators and continues with Promises, the Reflect API, the Proxy API, Maps & Sets, tons of new methods and functions and much more!

At the end of the course, we'll even build a complete project, using many of the new Features shown throughout the Course!

Benefit from my knowledge as both a freelance web developer and a top-rated instructor with many years of experience.

As a freelance web developer, using JavaScript is my day-to-day work and therefore I always found it annoying the ES6 Resources are scattered out all over the web. I created this Course to share my knowledge on ES6 with you!

I also love passing my knowledge to other people and my various, top-rated courses as well as my successful YouTube channel are the best proof of that.

Who this course is for:
  • Students who have experience with "current-generation" JavaScript (ES5) and know the basics of the language
  • Students also taking my JavaScript Bootcamp course to have a nice follow-up on it
  • Everyone interested in the new Features and Additions, ES6 brings to JavaScript