Advanced JavaScript

Learn Advanced JavaScript from Advanced JavaScript programmers and also create projects for your portfolio.

Upcoming Class
24 Nov 2018
Day(s) course
10:00 am - 17:00 pm
1450per person
1,232.50 (when you book any 3 courses *)
This course will take place in 3-4 Kirby Street, London, EC1N 8TS. Find on map
15 %

when you buy 3 or more courses

The discount will be automatically
applied at the checkout
Looking for a
2-12 months
Choose Web designer
Career Programme

Looking for a 2-12 months training?


Web designer career programme

Upcoming dates

Date Day(s) Course Session Time Price
24 Nov 2018 3 Sat 10:00 - 17:00 £1450 Reserve
04 Dec 2018 3 Tue to Thu 10:00 - 17:00 £1450 Reserve
17 Dec 2018 3 Mon to Wed 10:00 - 17:00 £1450 Reserve
24 Nov 2018
10am - 17pm
3 day(s)
04 Dec 2018
Tue to Thu
10am - 17pm
3 day(s)
17 Dec 2018
Mon to Wed
10am - 17pm
3 day(s)

Course Outline

Advanced JavaScript course overview

This course explains how to use Advanced JavaScript to create complex applications. After completing our Advanced JavaScript training course you will be able to develop and maintain robust and reusable code.

The practical nature of this Advanced JavaScript course will allow you to understand and get familiar with advanced topics.

This course will show ES6+ features for modern JavaScript applications. If you attended the course with ES5 only, you will be offered a free upgrade class.

This short Advanced JavaScript course is hands-on, instructor-led and classroom based. This training can be taken as a part-time evening course or even on the weekends. A list of all upcoming public Advanced JavaScript training course is given on training dragon website.

Who is Advanced JavaScript training for?

This course is for you if you know already JavaScript basics and are interested in improving your skills to create complex JS applications. 

Prerequisites for Advanced JavaScript course

This course is not for beginners in JavaScript. To attend this course, you must have previous working experience of JavaScript and jQuery.

If you are not familiar with such topics, please consider enrolling on our Web design course, jQuery training and AJAX course first. If you have already completed HTML, JavaScript courses with us please make sure you review your jQuery and JavaScript course topics before your first Advanced JavaScript class.

What will I get?

  • Training from professional Advanced JavaScript developers:

    Training Dragon consultants have been implementing professional Advanced JavaScript solutions across a range of web sites for many years. Those consultants write and teach our Advanced JavaScript training courses, so their experience directly informs course content.

  • Real-time Practice:

    Our Advanced JavaScript practical courses are designed to get you started in advanced JavaScript. You will learn through practical exercises and examples. 

  • Course Material:

    Advanced JavaScript electronic notes are included in this course.

  • Course Completion Certificate:

    After completing this training your will be receive an Advanced JavaScript course completion certificate.

  • Support and Careers Advice:

    After the course if you have any problems or questions regarding Advanced JavaScript do not hesitate to contact us. Training Dragon’s trainers are expert in their fields and if you need any help with you career choice, please speak to one of our trainers.

Advanced JavaScript Course Contents


  • webDev tools, modern inspectors and new features
  • jsFiddle 
  • NPM and NPM scripts
  • Linting ES6+ code with ESLINT
  • Transpiling for legacy browsers with Babel

Test Driven Development (TDD) and unit testing with Jasmine

  • intro to TDD
  • Jasmine testing framework
  • suites, specs, expectations
  • matchers
  • setups and teardowns
  • testing asynchronous code with Jasmine

Warming up

  • primitive data types 
  • ES6+ Symbols
  • falsy and tricky values
  • default and guard operators
  • var variables, hoisting and global variables
  • innerHTML vs appendChild vs createDocumentFragment
  • ES6+ block scope
  • ES6+ let and const variables
  • ES6+ template strings, template literals, placeholders
  • ES6+ new string methods

DOM events

  • definition
  • capture, target, bubbling phases
  • traditional event binding vs event delegation
  • delegating events with jQuery
  • delegating events with raw JS
  • vs e.currentTarget


  • objects, properties, methods
  • creating object literals
  • object constructors
  • property attributes and enumeration
  • delete operator
  • ES6+ destructuring objects
  • ES6+ new features of object literals 


  • functions as datatypes
  • Function object
  • function scope ( vs block scope )
  • declaration
  • invocation
  • implicit parameters 
  • this keyword, invocation patterns
  • call(), apply()
  • returning values
  • closures
  • getters / setters
  • prototype
  • ES6+ arrow functions
  • ES6+ default parameters
  • ES6+ destructuring and functions


  • creating arrays
  • array types
  • enumerating elements
  • manipulating elements
  • length property
  • iterating arrays
  • deleting elements
  • array methods
  • ES6+ for...of loop
  • ES6+ destructuring and arrays
  • ES6+ new array methods
  • ES6+ spread operator
  • ES6+ rest parameter

Object Oriented Programming

  • creating reusable code 
  • augmenting prototypes
  • inheritance in JS 
  • factory function and mixins
  • ES6+ JS classes
  • ES6+ classes and object creation
  • ES6+ classes and inheritance

ES6+ Promises

  • ES6+ promises intro
  • Fetch API promises
  • creating promises
  • flow control: chaining promises
  • working with multiple promises 

ES6+ Generators

  • Generators intro
  • syntax
  • using Generators for ajax flow control
  • Generators and For...OF loop
  • Revealing Module pattern
  • Revealing Prototype pattern


View Complete Course outline

Daily schedule

The scheme below shows what a typical day at Training Dragon looks like.

10:00 11:30 11:45 13:00 14:00 15:30 15:45
Classroom Activity
This course explains how to create web pages from scratch using different techniques, such as
Classroom Activity
This course explains how to create web pages from scratch using different techniques, such as
Classroom Activity
This course explains how to create web pages from scratch using different techniques, such as
Classroom Activity
This course explains how to create web pages from scratch using different techniques, such as
Video Placeholder

Looking for a
2-12 months


Web designer career programme

Our Trainers

Leads our teaching team with many years of experience in teaching web development.
Brings many years of Python and Java software development experience to classrooms.
Microsoft and Oracle certified developer with years teaching experience in Android, .NET and databases.

Frequently Asked Questions

Have a question?
We are here to answer them