TypeScript supports Object-Oriented Programming (OOP) concepts, and thus the basic features such as classes and interfaces are available in TypeScript. A class is a blueprint for creating an object of a type, which encapsulates the data of that object.
Along with ECMAScript 6 (more specifically, ECMAScript 2015), TypeScript now supports classes. Let's learn about how to define a class, its constructors, and its interfaces. We will also discuss how to define a static class and inheritance.