Advanced JavaScript

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

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 Developer
Career Programme

Looking for a 2-12 months training?


Web Developer career programme

Upcoming dates

There are no open public schedule dates for Advanced JavaScript course. We can offer you a private training or arrange a public course for you. Contact us here and we can make arrangements for your course.

Delivery Formats

This course can be attended face to face in an open classrooms, live online virtual classroom remotely from home or office, private one-to-one and on-site for your team at your office.

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 Developer 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

How many maximum people are on my course? 

To make sure that personal attention is provided to everyone in the class, we keep our classroom size very small. There are maximum 8 delegates in all our classrooms.
More questions?
We are here to answer them