ECMAScript 6

£679.00 + VAT



This is delivered as a Live Online “Virtual Class” – What is a Virtual Class? More info here

This course explores why the changes are happening and what is currently or soon to be supported. We explore Traceur as a means to use unsupported features now, even on browsers and devices which don’t yet understand ECMAScript 6.



Web developers who are confident with HTML and have some JavaScript experience.



A very good grasp of HTML5 and a good understanding of JavaScript is required to get the most from this course. Exposure to Object Oriented programming techniques would be an advantage.



In this course, you will learn about the new version of JavaScript known as ES6, along with current and imminent device and browser support for this standard, and how to code with ES6 right now, and use Google Traceur to transcode for compatibility with older devices and browsers.

Introducing Modern JavaScript

  • Controlling access, type, and mutability
  • Functions, scope, namespaces and closure
  • Object serialization
  • Overview of AJAX principles
  • JavaScript security
  • Client-Side Event handling
  • Client Side data persistence

Current and Imminent Support

  • Features which are already supported in some browsers and devices
  • Forthcoming built-in support
  • Polyfill
  • Legacy: where support will never happen

ECMAScript 6 objects, properties and methods

  • Classes, subclasses and constructors: Object-Oriented techniques in JavaScript

JavaScript Design Patterns (focussing on ECMAScript 6)

  • Modular JavaScript principles
  • MVC, MVVM, Service, Factory etc.

Building the User Experience: overview of modern JavaScript frameworks

  • The jQuery family
  • Angular, Bootstrap and Dart
  • AtScript and TypeScript
  • Other JavaScript frameworks and libraries

ECME-262 6th Edition

  • The 2015 ECMAScript Language Specification
  • Already some support in some browsers/devices
  • Enable Harmony in Chrome

Need for software development capabilities

  • Components and Modules
  • Single-threaded ‘blocking’ problem
  • Reduce use of ‘function’ keyword


  • converter
  • Converting offline
  • Online Read-Eval-Print-Loop for exploring ES6
  • Impact on performance

Sugar Syntax

  • Make a language easier to understand and more readable
  • Some features of ES6 are not really new
  • All methods are still added to the prototype

ES6 Language Features

  • Number and Math Improvements
  • Maps, Sets and Weak Maps
  • Iterators and for of loops
  • Object Literal Enhancements
  • Arrow Functions
  • Let and Const for Block Scoped Binding
  • Default and Rest Parameters
  • Template Literals
  • Promises


  • Property Method Assignment
  • Object Initializer Shorthand
  • Class definition and name
  • Class prototype
  • Instance property and class property

Shadow DOM

  • Shadow root and shadow host

Module syntax

  • Named exports and Default exports
  • Importing modules

ECMAScript language types

  • Undefined, Null, Boolean, String, Symbol, Number, and Object


  • Overview of current JavaScript testing

NodeJS (optional content)

  • Configuring Node for non-browser JavaScript
  • Node packages
  • Running script