Intermediate JavaScript

Course Code: JSI

Duration: 2 days

 
 
 
 

Intermediate JavaScript Course Overview

JavaScript is one of the most popular and commonly used programming languages today. Not only is it the language of the web and front-end frameworks like Angular and React, but it can now be used to build anything (front-end, back-end, or otherwise) thanks to runtimes like NodeJS.

This course is designed to move delegates beyond the fundamentals. It serves to set delegates on course to dive into one of the many JavaScript frameworks. Delegates will learn about modern syntax, object-orientation, functional programming, asynchronous programming, managed apps, and testing.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

NB: This course assumes ES6 as the baseline specification for JavaScript. This is because ES6 is now widely supported.

Course Objectives

This course aims to provide delegates with the skills and knowledge necessary to build modern, managed JavaScript applications that exploit modern syntax. Delegates should be able to devise object-oriented and functional solutions to problems, and deal with asynchronous tasks such as IO.

Who will the Course Benefit?

The Intermediate JavaScript course is aimed at JavaScript developers who have a handle on the fundamentals and want to take the next step. It may also be of value to those who wish to refresh/renew their knowledge of JavaScript after some time away from it.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Make use of modern syntax and operators such as destructuring and spread etc.
  • Grasp the complexity of JS scope including closures and IIFEs
  • Encapsulate data and behaviour by exploiting object-oriented features
  • Exploit functional techniques such as pure and higher-order functions etc.
  • Manage asynchronous tasks via callbacks, Promises, and async await
  • Build a managed app that exploits modules and tooling
  • Code tests to verify behaviour

Intermediate JavaScript Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: MODERN SYNTAX, OPERATORS, AND DATA STRUCTURES

  • Destructuring
  • Spread
  • Rest parameters
  • Short circuiting
  • Logical assignment operators
  • Enhanced object literals
  • Optional chaining
  • Nullish coalescing
  • Sets and Maps

Session 2: SCOPE

  • What is scope?
  • Types of scope
  • Lexical scope
  • The scope chain
  • Closures
  • IIFEs

Session 3: OBJECT-ORIENTED PROGRAMMING

  • What is object-oriented programming?
  • Object templates
  • Constructor functions
  • The this keyword (review)
  • Object prototypes (briefly)
  • Classes
  • Fields, constructors, and methods
  • Static members
  • Encapsulation
  • Inheritance
  • Composition
  • Mutating arrays, e.g. push, splice etc.

Session 4: FUNCTIONAL PROGRAMMING

  • Functions (review)
  • What is functional programming?
  • Pure functions
  • Immutability
  • Spread (again)
  • Functions as first-class objects
  • Higher-order functions
  • Callbacks
  • Transforming arrays, e.g. filter, map etc.

Intermediate JavaScript Training Course

Session 5: ASYNCHRONOUS PROGRAMMING

  • What is asynchronous programming?
  • The Event Loop
  • Asynchronous callbacks
  • setTimeout and setInterval
  • Promises
  • async and await
  • Reactive programming and observables (briefly)
  • Asynchronous programming and the fetching of data

Session 6: MODULES, MANAGED APPS, AND TOOLING

  • What is a module?
  • Exporting and importing module features
  • Embedding a module in the HTML
  • Default and named exports
  • Aliases
  • Module objects
  • Modules, packages, libraries, and frameworks
  • Categories of tools
  • Package management
  • Module bundling
  • Transpilation
  • TypeScript
  • Creating a managed app

Session 7: TESTING

  • The purpose of testing
  • The types of testing
  • Running tests
  • Test tools
  • Unit testing
  • Integration testing
  • E2E testing
  • Testing async code
  • Using mocks
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Requirements

Delegates should be able to produce scripts that exploit the fundamental features of the language including variables, functions, conditions and loops, DOM manipulation and event handling. Delegates should also be familiar with HTML and CSS. This knowledge can be gained by attendance on the pre-requisite Core JavaScript course.

Pre-Requisite Courses

Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 2 days

Price: £1,050.00 exc. VAT 


Start Date Options Spaces  
21 Nov 2024
StayAhead Virtual Courses available 
Spaces Book Now 
09 Jan 2025
StayAhead Virtual Courses available 
Spaces Book Now 
20 Feb 2025
StayAhead Virtual Courses available 
Spaces Book Now 
27 Mar 2025
StayAhead Virtual Courses available 
Spaces Book Now 
15 May 2025
StayAhead Virtual Courses available 
Spaces Book Now 
26 Jun 2025
StayAhead Virtual Courses available 
Spaces Book Now 
07 Aug 2025
StayAhead Virtual Courses available 
Spaces Book Now 
18 Sep 2025
StayAhead Virtual Courses available 
Spaces Book Now 
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy