DID YOU KNOW? You can attend any of our instructor-led courses from home. No Travel required!

For more information contact us today:

banner image

Course Information


The demands on the JavaScript language have increased dramatically over the last few years as developers are tasked with writing more and more complex scripts, using JavaScript, AngularJS, NodeJS and many more.

ECMAScript 6 completed in 2015 and formally dubbed “ECMAScript 2015.” Takes JavaScript programming to new levels many developers have been asking for.

The features vary widely from completely new objects and patterns to syntax changes to new methods on existing objects. The exciting thing about ECMAScript 6 is that all of its changes are geared toward solving problems that developers actually face.

This course takes existing JavaScript developers through the new powerful capabilities of ECMAScript 6.


Experience of developing JavaScript web pages/applications is required.


  • The Road to ECMAScript 6
  • About This Course
  • Var Declarations and Hoisting
  • Block-Level Declarations
  • Block Binding in Loops
  • Global Block Bindings
  • Emerging Best Practices for Block Bindings
  • Strings and Regular Expressions
  • Better Unicode Support
  • Other String Changes
  • Other Regular Expression Changes
  • Template Literals
  • Functions with Default Parameter Values
  • Working with Unnamed Parameters
  • Increased Capabilities of the Function Constructor
  • The Spread Operator
  • ECMAScript 6’s name Property
  • Clarifying the Dual Purpose of Functions
  • Block-Level Functions
  • Arrow Functions
  • Tail Call Optimization
  • Expanded Object Functionality
  • Object Categories
  • Object Literal Syntax Extensions
  • New Methods
  • Duplicate Object Literal Properties
  • Own Property Enumeration Order
  • More Powerful Prototypes
  • A Formal Method Definition
  • Why is Destructuring Useful?
  • Object Destructuring
  • Array Destructuring
  • Mixed Destructuring
  • Destructured Parameters
  • Creating Symbols
  • Using Symbols
  • Sharing Symbols
  • Symbol Coercion
  • Retrieving Symbol Properties
  • Exposing Internal Operations with Well-Known Symbols
  • Sets and Maps in ECMAScript 5
  • Problems with Workarounds
  • Sets in ECMAScript 6
  • Maps in ECMAScript 6
  • The Loop Problem
  • What are Iterators?
  • What Are Generators?
  • Iterables and for-of
  • Built-in Iterators
  • The Spread Operator and Non-Array Iterables
  • Advanced Iterator Functionality
  • Asynchronous Task Running
  • Class-Like Structures in ECMAScript 5
  • Class Declarations
  • Class Expressions
  • Classes as First-Class Citizens
  • Accessor Properties
  • Computed Member Names
  • Generator Methods
  • Static Members
  • Inheritance with Derived Classes
  • Using new.target in Class Constructors
  • Creating Arrays
  • New Methods on All Arrays
  • Typed Arrays
  • Similarities Between Typed and Regular Arrays
  • Differences Between Typed and Regular Arrays
  • Asynchronous Programming Background
  • Promise Basics
  • Global Promise Rejection Handling
  • Chaining Promises
  • Responding to Multiple Promises
  • Inheriting from Promises
  • The Array Problem
  • What are Proxies and Reflection?
  • Creating a Simple Proxy
  • Validating Properties Using the set Trap
  • Object Shape Validation Using the get Trap
  • Hiding Property Existence Using the has Trap
  • Preventing Property Deletion with the deleteProperty Trap
  • Prototype Proxy Traps
  • Object Extensibility Traps
  • Property Descriptor Traps
  • The ownKeys Trap
  • Function Proxies with the apply and construct Traps
  • Revocable Proxie
  • Solving the Array Problem
  • Using a Proxy as a Prototype
  • What are Modules?
  • Basic Exporting
  • Basic Importing
  • Renaming Exports and Imports
  • Default Values in Modules
  • Re-exporting a Binding
  • Importing Without Bindings
  • Loading Modules
  • Working with Integers
  • New Math Methods
  • Unicode Identifiers
  • Formalizing the __proto__ Property
Public Dates & Prices

There are currently no public dates for this course. This course can be run as a private course either at one of our training centers or at your offices. To get pricing for this use our quote wizard to generate a customised quote or call us on 0118 324 3000 to discuss your requirements.

course icon
3 Days


  • Noel was an excellent tutor. He did check all of the group was able to keep up and if there were any problems or questions of the attendants, he was always willing to help.

    Marianne Seager-Wincanton
  • This was a really good training, nicely paced, very useful and well presented. Thank you, Stuart!

    Joris Latinne-Oracle