Learn TypeScript
Creating object types
Creating object types
In this lesson, we will learn how we can create strongly-typed objects.
Inferred object types
Let's explore object types in an exercise.
The code assigns tomScore
to an object with name
and score
properties.
What has TypeScript inferred the type of tomScore
to be?
Object types are denoted with curly brackets. Each member of the object is listed inside the curly brackets with its type annotation.
So, later in the program, if we change the score
property value, to the following, will TypeScript be happy with this?
tomScore.score = 75;
What about if we try to add a new property to the object later in the program?
tomScore.passed = true;
Using explicit object type annotations
We can explicitly specify the annotation on an object variable using the object notation like was inferred in the example above:
let variable: { member1: type1; member2: type2, ... };
- In the code editor, explicitly set the type for
tomScore
using a type annotation.
- Make the
score
property in the object optional and removescore
from the object in the assignment.
Summary
TypeScript can infer the type of an object from the assigned value. If the inferred type is not quite what we require, we can explicitly use an object type annotation.
What if we want to reuse an object type instead of redefining it each time? Is there a way to do this? Yes, there are several ways! We’ll learn these in the following lessons.