Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.


  • Course Code: Web Development - JavaScript
  • Course Dates: Contact us to schedule.
  • Course Category: Web Development Duration: 5 Days Audience: Developers of all skill levels who need to learn modern, advanced JavaScript quickly

Modern web apps are programs that are experienced in a browser.  We need to use a mix of HTML5, Ajax and advanced JavaScript techniques and libraries to get us there. 

Node, Angular, React, React Native, Vue, and similar frameworks demand a deep understanding of JavaScript for developers to be successful in them. This 5-day course is specifically designed to build the foundations needed for students to code in them. 

This interesting and intensely practical hands-on workshop is designed to equip you to write JavaScript in a way that is robust, scalable, dynamic, elegant, and safe.  We focus on modern techniques and practices that will stretch even experienced JavaScript developers, but we keep them within the grasp of devs who may consider themselves JavaScript novices. 

Audience: Developers of all skill levels who need to learn modern, advanced JavaScript quickly 

Prerequisites: Basic understanding of HTML and how the web works. Programming experience in some language. 

Length: 5 days 


Upon completion of this course, the student should be able to: 

  • Begin applying JavaScript frameworks like React, Angular, and Vue in a more extensible, robust, scalable, and safer way 
  • Explain modern tooling environments like webpack, npm, yarn, eslint and successfully set up a continuous integration system (CIS) 
  • Write well-organized and properly structured JavaScript modules 
  • Write and run unit tests on their JavaScript with Jasmine/Jest and Karma 
  • Handle multi-threading in JavaScript with promises and async/await 
  • Consume a RESTful API with Ajax using the fetch API 


  • Intro to JavaScript 
  • Intro to NodeJS 
  • Debugging JavaScript 
  • Tooling (webpack, npm, yarn, etc.) 
  • Unit testing JavaScript  
  • Operators 
  • Functional JavaScript 
  • Object-oriented JavaScript 
  • Understanding execution context 
  • Variables (let, const, hoisting) 
  • Arrays in JavaScript 
  • Modules with JavaScript 
  • Asynchronous JavaScript (Promises, async, await) 
  • Modern JavaScript with ES2015-ES2018 and beyond 
  • Working with the DOM 
  • Ajax and consuming RESTful APIs 

JavaScript Course Outline 

  • Intro to JavaScript 
    • Just enough JavaScript to write a program. (if, while, for, comments)  
  • Intro to NodeJS 
    • How to write and run a Node script 
  • Debugging JavaScript 
    • Browser-based tools 
    • Formatting the console 
    • Why you should never use alert() 
  • Tooling 
    • Why have tooling?  
    • npm and yarn 
    • eslint and jslint 
    • transpilers 
    • webpack 
  • Unit testing JavaScript 
    • Writing and running unit tests  
    • TDD/BDD 
    • Karma and Jasmine 
  • Operators 
    • Arithmetic 
    • Auto-operators 
    • Logical operators 
    • Truthy and falsey 
    • Short-circuiting 
  • Functional JavaScript 
  • Variadicity 
    • Pure vs. impure functions 
    • Function statements 
    • Function expressions 
    • Arrow functions 
    • Rest operator 
    • Default parameters 
  • Object-oriented JavaScript 
  • Functional JavaScript vs. object-oriented JavaScript – Which should I choose? 
    • How prototypal inheritance is different to traditional inheritance 
    • Classes 
    • Constructors 
    • get() and set() 
    • Classless objects 
    • Property shorthands 
  • Understanding execution context 
    • How invocation changes “this” 
    • call() and apply() 
    • bind() 
    • How arrow functions affect context 
  • Variables 
    • let, var, and const — When to use each 
    • How hoisting works 
    • How to control hoisting 
    • Destructuring 
    • Easy string templates with `${}` 
  • Arrays in JavaScript 
    • Typed arrays 
    • Iterating arrays 
    • for-in vs. for-of 
    • The spread operator 
    • How to spread arrays 
    • Array.prototype.* 
    • forEach() 
    • reduce() 
    • map() 
    • filter() 
    • some() and every() 
  • Modules with JavaScript 
    • How to get it supported in all browsers 
    • import 
    • export vs export default 
    • IIFEs 
  • Asynchronous JavaScript 
    • Multithreading 
    • How the event loop works 
    • Promises 
    • Async and await 
  • Modern JavaScript with ES2015-ES2018 and beyond 
    • TC39 and how JavaScript evolves 
    • The newest capabilities of JS 
    • Experimental features 
    • What’s coming in the future? 
  • Working with the DOM 
    • What is the DOM? 
    • Querying the DOM 
    • Wiring up raw event handlers 
    • Altering the DOM for dynamic views 
    • Why we’d use Angular, React, Vue  
  • Ajax 
    • Making RESTful calls 
    • JSON 
    • stringify() and parse() 
    • XMLHttpRequest 
    • The fetch API 
View All Courses

    Course Inquiry

    Fill in the details below and we will get back to you as quickly as we can.

    Interested in any of these related courses?