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
TOOLS
- 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
- e.target vs e.currentTarget
OBJECTS
- objects, properties, methods
- creating object literals
- object constructors
- property attributes and enumeration
- delete operator
- ES6+ destructuring objects
- ES6+ new features of object literals
FUNCTIONS
- 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
ARRAYS
- 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