About the course

The JavaScript 2 course comprises sessions dealing with values and references, strict mode, arrays, scope, objects, asynchronous JavaScript, unit testing and ECMAScript version 6.

The delegate will learn about the inner workings of the JavaScript language to better enable them to write complex code and to troubleshoot.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

The delegate will learn and acquire skills as follows:
• Working with primitive and reference variables
• Testing for equality
• Coding in strict mode
• Working with associative arrays
• Determining and affecting the scope of a variable
• Making changes to a constructor function's prototype
• Determining an object's prototype chain
• Exploiting inheritance and polymorphism
• Encapsulating a class using the Revealing Module pattern
• Declaring a static class using the Singleton pattern
• Coding asynchronously
• Unit testing
• Coding in ECMAScript version 6 (ES2015)

Who will the course benefit?

The JavaScript 2 course is designed for JavaScript developers who want to know more about the inner workings of the language so as to better equip themselves to write complex code and to troubleshoot.

The course will also benefit those JavaScript developers who are familiar with JavaScript as it relates to ECMAScript version 5, and want to learn about what's new in ECMAScript version 6 (ES2015).



Delegates should be able to build JavaScript applications that exploit all fundamental elements of the language including variables and expressions, conditions and loops, functions, objects, arrays, the DOM, and event handling.

This knowledge can be obtained by attendance on the pre-requisite JavaScript 1 course.

Pre-requisite Courses

• JavaScript 1

Follow-on Courses

• jQuery Web Development
• Bootstrap
• Angular Development
• Aurelia Framework


• Course technical content is subject to change without notice.
• Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions. 


Course Objectives

This course aims to provide the delegate with the knowledge to be able to interpret, write, and troubleshoot complex JavaScript code exploiting strict mode, closures, IIFEs, the prototype chain, design patterns, asynchronous JavaScript, and ES6.



Course Contents - DAY 1

Course Introduction

• Administration and Course Materials
• Course Structure and Agenda
• Delegate and Trainer Introductions

Session 1: VALUES & REFS

• Primitive and Reference Types
• Equality Tests
• Deletion and Dereferencing
• Undefined, null, and NaN

Session 2: STRICT MODE

• What is Strict Mode
• Invocation
• Mistakes to Errors
• Variable Simplification
• Eval
• Security

Session 3: ARRAYS

• Associative Arrays
• for vs. for in
• delete and length

Session 4: SCOPE
• Hoisting (Review)
• Lexical Scope
• The Scope Chain
• Closures

Course Contents - DAY 2

Session 5: OBJECTS

• Property Deletion
• The this Keyword
• The call, apply, and bind Functions
• Prototypes
• The Prototype Chain
• Inheritance
• Overrides
• Polymorphism
• Encapsulation
• Public, Private, and Privileged Properties
• The Revealing Module Pattern
• Static Properties and Classes
• The Singleton Pattern


• Synchronous vs. Asynchronous
• setTimout
• Callbacks
• Common Problems
• Async.js
• Promises (ES6)

Course Contents - DAY 3


• What is Unit Testing
• Test Driven Development
• Unit Testing with Jasmine

Session 8: ES6 (ES2015)

• Multi-line Strings
• Template Literals
• Default Parameters
• Block-level Scope
• Maps and Sets
• Classes and Modules
• Arrow Functions

3 Days

Course Dates

There are no dates scheduled for this location at the moment. Please call to enquire 08000 199337


Select a Classroom Course

Course Title Start Date Finish Date Location Price Qty
JavaScript 2 Apr 10, 2019 Apr 12, 2019 London £1,350
JavaScript 2 Jun 05, 2019 Jun 07, 2019 London £1,350
JavaScript 2 Aug 07, 2019 Aug 09, 2019 London £1,350
JavaScript 2 Oct 02, 2019 Oct 04, 2019 London £1,350
JavaScript 2 Nov 27, 2019 Nov 29, 2019 London £1,350
Course Type:


Session Dates: