JavaScript Developer

JavaScript skills for application developers

This four-day course is designed for technical professionals who want to build stronger JavaScript skills for practical development work. You’ll explore core language features, browser behaviour, code structure and testing, with a focus on writing clearer, easier-to-maintain solutions. It is suited to newer programmers, returning developers or those moving into JavaScript-based roles, as it helps you improve coding discipline and contribute more confidently to application delivery, enhancement and support. 

Learning objectives
  • Write structured JavaScript code  
  • Use variables and data types  
  • Build reusable functions  
  • Manage scope and programme flow  
  • Manipulate browser page elements  
  • Handle events and browser APIs  
  • Apply object-oriented principles  
  • Use functional techniques  
  • Manage asynchronous code  
  • Test application logic 

Key facts

Certification

This is a skills and knowledge-based course with no formal accreditation. 

Who it’s for

This course is suitable for learners looking to develop or refresh their JavaScript skills and build modern web applications. 

Prerequisites

A basic understanding of HTML, CSS, and programming principles are recommended before attending this course. 

Exam information

This course does not include an exam. 

Optional extras

This course includes hands-on labs and access to learning materials for continued practice. 

Pre-course

No preparation work is required for this course. 

Course syllabus

Dive into the detail of the course by looking at the syllabus below. 

Day one
  • Session 1: Introduction
    • Setting up the development environment
    • What is JavaScript?
    • HTML and CSS refresher
    • Embedding JavaScript in HTML
    • Executing JavaScript with NodeJS
    • Browser JavaScript vs NodeJS
    • Simple example
    • Syntax and comments
    • ECMAScript and JavaScript
    • Deployment
Day one
  • Session 2: Values, variables and types
    • Values
    • Variables
    • var, let and const
    • Naming conventions
    • Numbers
    • Strings
    • Booleans
    • Arrays
    • Objects
    • typeof operator
    • Dynamic typing
    • Type conversion and coercion
    • Arithmetic
    • Handling text, including template literals
Day one
  • Session 3: Functions
    • Function declarations
    • Parameters
    • Return statements
    • Function expressions
    • Arrow functions
    • Declaration, expression or arrow function?
    • Calling functions
    • Pass by value or reference
    • Introduction to scope
    • Default parameters
    • Built-in functions
Day one
  • Session 4: Programme flow
    • Relational and logical operators
    • Equality comparisons and sameness
    • Truthy and falsey values
    • Conditional statements
    • Iterative statements
    • Error handling
    • Debugging
Day two
  • Session 5: Objects
    • Objects
    • Properties
    • Dot notation
    • Square bracket notation
    • Function properties and methods
    • this keyword
    • Iterating over object properties
    • The Object type
    • Array objects and methods
    • String objects and methods
Day two
  • Session 6: DOM referencing and manipulation
    • HTML elements and JavaScript objects
    • The DOM
    • DOM referencing
    • DOM data types
    • Element manipulation
    • Creating, adding and removing elements
Day two
  • Session 7: Event handling
    • Events
    • Event propagation
    • Event listeners
    • Event listener registration
    • The event object
Day two
  • Session 8: Web APIs
    • What is an API?
    • Browser APIs
    • Accessing browser APIs
    • Date
    • Math
    • RegExp
    • JSON
    • Client-side storage
    • Geolocation
    • Other Web APIs
Day three
  • Session 9: 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
Day three
  • Session 10: Scope
    • What is scope?
    • Types of scope
    • Lexical scope
    • Scope chain
    • Closures
    • IIFEs
Day three
  • Session 11: Object-oriented programming
    • What is object-oriented programming?
    • Object templates
    • Constructor functions
    • this keyword review
    • Object prototypes
    • Classes
    • Fields, constructors and methods
    • Static members
    • Encapsulation
    • Inheritance
    • Composition
    • Mutating arrays, such as push and splice
Day three
  • Session 12: Functional programming
    • Functions review
    • What is functional programming?
    • Pure functions
    • Immutability
    • Spread
    • Functions as first-class objects
    • Higher-order functions
    • Callbacks
    • Transforming arrays, such as filter and map
Day four
  • Session 13: Asynchronous programming
    • What is asynchronous programming?
    • Event Loop
    • Asynchronous callbacks
    • setTimeout and setInterval
    • Promises
    • async and await
    • Reactive programming and observables
    • Asynchronous programming and fetching data
Day four
  • Session 14: Modules, managed apps and tooling
    • What is a module?
    • Exporting and importing module features
    • Embedding a module in 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
Day four
  • Session 15: Testing
    • Purpose of testing
    • Types of testing
    • Running tests
    • Test tools
    • Unit testing
    • Integration testing
    • E2E testing
    • Testing asynchronous code
    • Using mocks

FAQs

This four-day JavaScript Developer course helps you strengthen how you write, structure, test and maintain JavaScript code. It covers language behaviour, reusable functions, objects, browser APIs, asynchronous programming, modules, tooling and testing, giving you practical skills for improving JavaScript used in day-to-day development work. 

Is this course primarily about front-end development?

No. The course includes browser-based JavaScript, including DOM work, events and Web APIs, but it is not limited to front-end development. You’ll also explore at how JavaScript runs, how code is structured, how asynchronous behaviour works, and how modules, tooling, TypeScript concepts and testing support maintainable development. 

What skills will I be able to apply after the course?

You’ll be better placed to write JavaScript that is clearer, more organised and easier to check. The course supports practical skills such as structuring logic, using functions and objects effectively, handling asynchronous operations, working with browser APIs, organising code across files and testing behaviour before changes are released or extended. 

Is this course suitable if I already know some JavaScript?

Yes. It is suitable for learners who have some existing programming knowledge and want to strengthen or refresh their JavaScript capability. As well as covering syntax, the course also looks at how JavaScript behaves in practice and how you can use it more effectively when maintaining, improving or extending application code. 

What should I know before attending?

Familiarity with HTML, CSS and basic programming concepts is recommended before attending. This helps you focus on JavaScript behaviour, coding approaches and development practices during the course, rather than spending the time getting comfortable with the wider web and programming basics. 

How practical is the learning experience?

The course includes hands-on live labs, practical code examples, course materials and supporting resources. You’ll apply concepts as you learn them, which helps turn topics such as functions, objects, async programming, modules and testing into practical coding habits rather than abstract theory. 

Will this help with maintaining existing JavaScript code?

Yes. The course is relevant if you need to improve, extend or maintain JavaScript code. You’ll work with areas that affect maintainability, including scope, functions, objects, modules, testing and asynchronous behaviour, helping you make changes with more confidence and reduce the risk of unexpected behaviour. 

Why study with TSG?
25+ years' experience

Trusted by individuals, businesses and public sector organisations for over 25 years.

20,000+ learners trained

Join a network of learners focused on developing their software testing skills 

98% customer satisfaction

TSG trainers are frequently rated as ‘good’ or ‘excellent’ by our learners

Speak to our team
Guidance from experienced advisors

If you’re unsure which course aligns with your technical requirements or career direction, we’ll help you assess your options and choose with confidence.  

Build capability
Develop skills that support real delivery outcomes

From software testing to broader digital skills, we work with you to design learning that strengthens capability, improves performance, and supports long-term business goals.

Quote request

Please complete the form to ensure your quote is accurate and we will contact you soon.

Page {{ step }} of 2

Back Next