Advanced JavaScript Techniques

Contact Us for Dates
3 days practical workshop for up to 12 people.

Only £1185 per person

Contact us for Onsite Price

There's a lot more to JavaScript than first meets the eye. This course explores the language in forensic detail, shining a light on the dark areas that often confuse and confound JavaScript development teams. If you're writing production JavaScript code, and you need to get it right, then this is the course for you.


This course is a mixture of lectures and hands on exercises designed to reinforce the topics learnt

Training Course Objectives

  • Object-oriented programming in JavaScript
  • Managing scope in a large JavaScript application
  • Understanding JavaScript gotchas
  • Using patterns to improve code quality
  • Testing techniques

Training Course Prerequisites

  • At least 3 months JavaScript development


Chapter 1 Function Techniques

  • Literal functions
  • Declaration hoisting
  • Arguments and function overloading
  • Recursion
  • Managing 'this' in call-backs
  • 4 ways to invoke a function

Chapter 2 Object-Oriented JavaScript

  • Object literals
  • Default and guard operators
  • Property attributes
  • Understanding prototypes
  • Enumerating object properties
  • Adding and deleting properties dynamically

Chapter 3 Implementing Inheritance in JavaScript

  • Pseudo-classical, prototypal, and functional inheritance
  • Mixins
  • Overriding and super()
  • Using prototype effectively

Chapter 4 Array Techniques

  • Literal arrays
  • Using 'length' and 'delete'
  • Using 'for' vs. 'for in'
  • Associative arrays
  • Augmenting the array prototype
  • Multidimensional arrays

Chapter 5 Managing Scope and Namespaces

  • Lexical scope
  • Closures
  • Revealing Module pattern
  • Bind
  • Avoiding polluting the global namespace
  • Immediately-invoked function expressions (IIFEs)
  • Implementing a robust namespace factory method

Chapter 6 Asynchronous Programming Patterns

  • Call-backs with asynchronous methods
  • Promise/future with deferrable values
  • The Observable pattern

Chapter 7 TDD JavaScript

  • TDD essentials
  • Overview of testing frameworks
  • Using Jest