Call us at 1-800-413-0939

ECMAScript Programming

Over 100 metro locations. Attend face-to-face, remotely or on site at your facility.

Travel Packages Remote Attendance

Exploiting ECMAScript 6: New JavaScript Features

Duration: 4 Days

Price: $2095

Remote Attendance: Click here for more information.

Students Will Learn:

  • ECMAScript 6 Syntax
  • Executing ES6 in a non-supported ES6 environment
  • Declaring variables with let and const
  • Defining default and rest parameters
  • Object-oriented programming with classes
  • Class inheritance
  • Object and array destructuring
  • Importing and exporting modules
  • Implementing loops using generators and iterators
  • Transpiling ES6 to ES5
  • Using the Symbol data type
  • New string processing features
  • Creating arrow functions
  • Using the spread operator
  • Using template strings
  • Asynchronous programming with promises
  • Sets and WeakSets
  • Maps and WeakMaps
  • New number features
  • Building proxies using Proxy API
  • Object reflection using Reflect API
  • Enhancing object literals

Course Description: This hands on ECMAScript programming course is intended for JavaScript developers who are looking to transition from JavaScript (ES5) to the next version of JavaScript, ECMAScript 6 (also known as ES6 or ES2015). ECMAScript 6 includes many enhancements and new features that make JavaScript coding easier and more maintainable. This hands-on course will introduce students to many of the features of this latest version, including declaring block-scoped variables, declaring classes and modules, using new collection types such as Sets and Maps, arrow functions, destructuring objects and arrays, and asynchronous programming with promises. In addition, students will learn to "transpile" ES6 code using tools like Babel and Traceur so that it can be used even before ES6 is fully implemented by browsers and Node.js.

Course Prerequisites: Knowledge of JavaScript equivalent to attending the JavaScript Programming course.

Overview of ECMAScript
  • ECMAScript vs JavaScript vs Jscript vs ActionScript
  • ECMAScript Versions
  • Browser Compatibility
  • Transpiling Code
Review of JavaScript Features
  • Basic JavaScript Syntax
  • Functions
    • IIFEs
    • Closures
  • Arrays
  • Objects
  • JSON
Object-Oriented Programming
  • Defining Classes
  • Defining Constructors
  • Defining Static and Instance Methods
  • Defining Properties
  • Extending Classes with Inheritance
  • extends and super Keywords
Working with Collections
  • Typed Arrays
  • Maps and Sets
  • WeakMaps and WeakSets
Syntax Changes
  • Block Level Scope
    • Declaring Variables with let
    • Declaring Variables with const
  • Destructuring Assignments
    • Objects
    • Arrays
  • Shadowing Variables
  • Merging Arrays with the spread operator
  • String Interpolation
  • Formatting Output with Template Literals
  • Symbols
    • Symbol Registry
    • Symbols as Properties
    • Built-in Symbols
Modularizing Code
  • Using File-Based Modules
  • Exporting Modules
  • Importing Modules
  • Circular Module Dependencies
  • Design Patterns
    • AMD
    • CommonJS
    • UMD
  • Planning Modules
  • Working with package.json File
  • Overview of Iterators
  • Iterator and IteratorResult Interfaces
    • Using the next() Method
    • return() and throw() Methods
  • Using the "for..of" loop
  • Defining Custom Iterators
API Additions
  • Changes to Array Object
  • Changes to String Object
  • Changes to Number Object
  • Changes to Object Object
  • Changes to Math Object
Asynchronous Programming
  • Writing Asynchronous Code with Events and Callbacks
  • Problems with Traditional Asynchronous Code
  • Implementing Promises
    • Using the Promise API
    • Consuming a Promise
    • Using Generators and Promises
    • Chaining Promises
  • “thenable” Values
  • Reflection
  • Proxies
  • Consuming RESTful Web Services
Changes to Functions
  • Default Parameters
  • Arrow Functions
  • Differences Between Arrow and Traditional Functions
  • Using rest Parameters

Regular Expression Changes

  • Unicode Flag
  • "Sticky" Flag
Object Literal Enhancements
  • Review of Object Literals
    • Defining Properties and Methods
  • Defining Concise Properties and Methods
  • Defining Getters and Setters
  • Computed Property Names
  • Object super
  • Transpiling ECMAScript with Babel and Traceur
  • Using npm
  • Using Git Bash
  • Using Polyfills
  • Overview
  • Uses of Generators
  • Defining a Generator
  • Executing a Generator
  • The yield Keyword
  • Controlling Generators
  • Dealing with Early Completion
  • Error Handling
Overview of Node.js
  • Installing Node.js
  • Configuring Node.js for Non-Browser JavaScript
  • Managing Packages with npm
  • Running Scripts
  • Course materials include student guide, hands-on lab manual and USB flash drive for examples and lab work
  • Students receive a certificate of completion at the end of class
  • Students can retake any portion of a class that has been completed, within 12 months at no extra cost
  • There are no registration fees or cancellation fees

Individual training passes: save up to 43%! For complete discount options » click here «

# Courses Total Cost Cost Per Course % Savings
2 $4,090 $2,045 22%
3 $5,490 $1,830 30%
4 $6,690 $1,672 36%
5 $7,790 $1,558 40%
6 $8,890 $1,482 43%

Multiple Training Locations - Convenience and Cost Control

Attend Regularly Scheduled Courses in More than 100 Cities Across North America and the United Kingdom or via Remote Attendance