25,000+ Courses Nationwide
0203 908 2376


TypeScript is a superset of JavaScript used for building complex and robust web applications. Where JavaScript code is prone to failures at runtime, TypeScript, thanks to its static typing, flags errors at compile time. TypeScript builds upon ES6 with features such as interfaces, access modifiers, generics, and decorators, and may be transpiled into any ECMA version from ES3 through ESNEXT. TypeScript is the default language of the Angular framework and is supported by both React and Vue.

This course covers all of the key TypeScript features including static typing, classes, interfaces, generics, iterators and generators, modules and namespaces, JSX, and decorators.

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

The delegate will learn and acquire skills as follows:

  • Declare and initialise statically-typed variables using let and const
  • Assign values to variables efficiently using destructuring and the spread operator
  • Declare statically typed functions exploiting optional, default, and rest parameters
  • Build classes exploiting the OO principles of encapsulation, inheritance, and abstraction
  • Use interfaces to define contracts within the code
  • Handle generic types and build generic classes
  • Build custom iterators and generators
  • Split code over multiple files using modules and/or namespaces
  • Use JSX to simplify the dynamic generation of HTML
  • Build and deploy decorators to add functionality to existing classes, methods, etc.

Who will the Course Benefit?

This course is designed for JavaScript developers who are required to build or maintain applications written in TypeScript.

Select specific date to see price, venue and full details.

Learning Objectives

This course aims to provide the delegate with the knowledge to be able to build web applications using TypeScript. The delegate will learn to write using TypeScript, that which they have previously wrote using JavaScript, and in so doing produce code which is better and more robust.



Delegates attending this course should be familiar with/able to write JavaScript code up to and including features detailed in ES5. This knowledge can be obtained by attendance on the pre-requisite JavaScript 1 course.

Pre-Requisite Courses

  • JavaScript 1

Course Content

TypeScript Training Course

Course Introduction

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


  • ES5 vs. ES6 vs. TypeScript
  • Installing TypeScript
  • Compiling TypeScript to JavaScript

Session 2: VARIABLES

  • var, let, and const
  • Destructuring
  • The spread operator
  • Declaring a statically typed variable
  • Arrays, tuples, and enums
  • Any, void, and never
  • Type assertion

Session 3: FUNCTIONS

  • Function types
  • Optional parameters
  • Default parameters
  • Rest parameters
  • The this keyword
  • Overloading

Session 4: CLASSES

  • Basic syntax
  • Inheritance
  • Access modifiers
  • Readonly modifier
  • Accessors
  • Static properties
  • Abstract classes


  • Basic syntax
  • Optional properties
  • Read-only properties
  • Excess property checks
  • Function types
  • Implementing an interface
  • Extending interfaces

TypeScript Training Course

Session 6: GENERICS

  • Generic types
  • Generic classes
  • Generic constraints


  • Iterables
  • Iterators
  • Generators


  • Exports
  • Imports
  • Namespacing
  • Multi-file namespaces
  • Aliases

Session 9: JSX

  • Basic syntax
  • The as operator
  • Type checking
  • The JSX result type
  • Embedding expressions
  • Factory functions

Session 10: DECORATORS

  • Decorator factories
  • Decorator composition
  • Decorator evaluation
  • Class decorators
  • Method decorators
  • Accessor decorators
  • Property decorators
  • Parameter decorators

Follow-On Courses

  • Developing Node.js Web Applications
  • Angular Development
  • React


  • 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.

Related Courses

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


We work with the best