Understanding Constructors in TypeScript

Welcome to the OOP station! Today, we're going to dive into constructors in TypeScript classes. Constructors play an essential role in creating and initializing objects. Picture a constructor as a blueprint — it details the components necessary for creating each object.

Just like JavaScript, if you don't provide a constructor in your TypeScript class, a default one will be supplied. Imagine this scenario as being given a blank blueprint sheet ready for you to customize!

Constructors in TypeScript

In TypeScript, constructors are defined using the keyword constructor within a class. These constructors can have parameters that initialize the properties of class instances. Think of this as specifying the components needed for a blueprint and their respective quantities. Let's exemplify this:

Note that in TypeScript, we have to declare the types of the class properties before assigning them in the constructor. Each time we create a new Car object, we need these attributes to be supplied. You'll learn more about attributes in upcoming lessons.

Creating Objects Using Constructors

Let's create our first Car object using the new keyword:

myCar is a Car object, representing a red Toyota Corolla. This object has properties defined by the constructor!

Special Properties of Constructors

Although a TypeScript class can host numerous methods, it is bound by one condition — it can only accommodate a single constructor. If we attempt to declare more than one constructor, TypeScript will raise a SyntaxError.

In instances where no explicit constructor is defined, TypeScript provides a default one: constructor() {}.

Furthermore, we can assign default values to parameters as shown below:

Lesson Summary and Practice

Fantastic! You've now learned about TypeScript constructors, how to use them, their unique properties, and how they facilitate object creation when defining classes. Remember, practice is the key to mastery. Delve further into constructors and explore their potential. Happy coding!

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal