0345 4506120

JavaScript 2

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).

Learning Objectives

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.

Pre-Requisites

Requirements

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
Notes:
  • 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 Content

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
  • IIFEs

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

Session 6: ASYNCHRONOUS JAVASCRIPT

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

Day 3

Session 7: UNIT TESTING

  • 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

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include