Course 586:
Mastering JavaScript with ECMAScript 6 and TypeScript

(4 days)


Course Description

The Web has changed a lot over the years as user interfaces have moved from displaying static data to more dynamic and flexible data. At the center of this change is JavaScript—one of the most popular scripting languages around. To develop today’s modern Web applications, a front-end developer needs a solid understanding of JavaScript especially given that JavaScript can be used on the client-side and server-side now.

In the Mastering JavaScript with ECMASCript 6 (ES6) and TypeScript course, you’ll dive into key features of the language that will take your JavaScript skills to the next level. This includes starting out with the core concepts, manipulating the DOM, and even using HTML5 APIs. In this 4-day class, you’ll discover how to work with JavaScript objects, patterns, events, and functions. This includes learning the ins-and-outs of prototypical inheritance, how to create factories, the need for constructors, dealing with “this”, as well as key patterns that can be used to structure your JavaScript code such as the Revealing Module Pattern, Prototype Pattern, and others. Additional topics include Data Binding techniques and how Handlebars, KnockoutJS, or AngularJS templates can be used to render data in Single Page Applications (SPAs) or other application types to reduce the amount of code that is written. Finally, you’ll learn about new ECMAScript 6 (ES6) features (and how you can use them today) as well as about TypeScript and how it can be used to add strong types into code and more!

Learning Objectives

  • Core JavaScript language concepts
  • How JavaScript can be used with key HTML5 APIs
  • The role of prototypical inheritance
  • How to create JavaScript factories
  • The role of the constructor
  • Prototypal Inheritance
  • Key JavaScript patterns that can be used to clean up your code
  • How to create custom JavaScript objects
  • Client-Side Data binding techniques that can minimize code
  • Key ECMAScript 6 Features
  • Using ECMASCript 6 Today with specialized tools
  • Getting Started with TypeScript

Who Should Attend

This course is valuable for developers who are interested in building applications using the JavaScript programming language.


Previous experience with JavaScript, HTML, and CSS is required to get the most out of this course. Although a JavaScript primer is provided, this course dives deep into various aspects of the language and is not a beginning JavaScript course.

Course Outline

1.  JavaScript Primer

  • The Role of JavaScript
  • Variables, Types, and Objects
  • Operators, Conditionals, and Loops
  • Working with Functions

2.  JavaScript and the DOM

  • Locating DOM Elements
  • DOM Manipulation
  • Handling DOM Events
  • Manipulating Styles and CSS Classes

3.  JavaScript and HTML5

  • HTML5 JavaScript APIs
  • Drawing with the Canvas
  • Storing Data Locally
  • Geolocation and Mapping

4.  JavaScript Objects

  • JavaScript Objects
  • Constructor
  • Prototypal Inheritance
  • Working with Properties
  • Creating a JavaScript Factory

5.  Function Techniques

  • Immediately Invoked Functions
  • Using call(), bind(), and apply () to change Context
  • Async: Callbacks vs. Promises
  • Working with Array Functions

6.  JavaScript Patterns

  • Pattern Enablers
  • Prototyping
  • Object Literals
  • Namespaces
  • Closures
  • Digging into Closures
  • Key Patterns
  • Prototype Pattern
  • Revealing Module Pattern
  • Revealing Prototype Pattern

7.  Data Binding and Templates

  • Why DOM Code Is Tedious
  • Using Client-Side Templates
  • Benefits of Data Binding
  • Client-Side Data Binding Options
  • Handlebars
  • KnockoutJS
  • AngularJS

8.  Getting Started with ECMAScript 6

  • ECMAScript 6 Tools That Let You Use It Today!
  • Key ECMAScript Features
  • Defining Classes
  • Destructuring
  • Arrow Functions
  • Maps and Sets
  • Template Strings
  • Default and Rest Parameters

9.  Getting Started with TypeScript

  • Introduction to TypeScript
  • TypeScript Keywords and Hierarchy
  • Classes, Functions, and Interfaces
  • Working with Modules

Please Contact Your ROI Representative to Discuss Course Tailoring!