TypeScript - Generics

Developed with



The course is part of this learning path

An Introduction to Generics


Course Description

This module looks at Generics in Typescript, and how to create different types of generic Functions, Classes and Interfaces.


Learning Objectives

The objectives of this module are to provide you with an understanding of:

  • How to create Generic Functions
  • How to create Generic Classes
  • How to create Generic Interfaces

Intended Audience

This learning path is aimed at all who wish to learn how to use TypeScript

Prerequisites of the Course

It is essential you understand the face of contemporary web development to attend this course. You should have a good working knowledge of Javascript.

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free).


We welcome all feedback and suggestions - please contact us at qa.elearningadmin@qa.com to let us know what you think.


Generics are not specific to TypeScript. They're a concept used across a number of programming languages. In this module, we'll learn what generics are and how they can be used with functions, interfaces, classes. And then how we can constrain what a generic is. Generics allow us to create code that is reusable over a variety of data types, rather than being restricted to a single one. They help in keeping code clean. And help make us more efficient as developers by allowing us to implement the do not repeat yourself programming principle. They help with type safety, and documentation of our code by making it explicit what the code may be used for. Generics can be applied to many different constructs in our code. Including functions, interfaces, and classes.

About the Author

Learning paths5

An outstanding trainer in software development with more than 15 years experience as a Corporate and Apprentice Trainer, ICT Teacher and Head of Department, with a passion for technology and its uses. Continuing to develop existing and new skills and courses, primarily in web design using PHP, JavaScript, HTML, CSS and SQL but also OOP (Java), programming foundations (Using Python), DevOps (Git, CI/CD, etc) and Agile/Scrum. Practically minded, a quick learner and a problem solver with an attention to detail to ensure high quality outcomes.

Covered Topics