Bird
Raised Fist0
Typescriptprogramming~5 mins

Type alias for objects in Typescript

Choose your learning style10 modes available
Introduction

A type alias lets you give a name to an object shape. This makes your code easier to read and reuse.

When you want to describe the shape of an object clearly.
When you use the same object structure in many places.
When you want to avoid repeating the same object type again and again.
When you want to make your code easier to understand by naming complex object types.
Syntax
Typescript
type Name = {
  property1: type1;
  property2: type2;
  // more properties
};

Use type keyword followed by the alias name and an object shape inside curly braces.

Each property has a name and a type separated by a colon, ending with a semicolon.

Examples
This defines a Person type with name as a string and age as a number.
Typescript
type Person = {
  name: string;
  age: number;
};
This defines a Point type with x and y coordinates as numbers.
Typescript
type Point = {
  x: number;
  y: number;
};
This defines a Product type with three properties: id, price, and inStock.
Typescript
type Product = {
  id: string;
  price: number;
  inStock: boolean;
};
Sample Program

This program defines a Car type alias. Then it creates an object myCar of that type. Finally, it prints a sentence about the car.

Typescript
type Car = {
  make: string;
  model: string;
  year: number;
};

const myCar: Car = {
  make: "Toyota",
  model: "Corolla",
  year: 2020
};

console.log(`I drive a ${myCar.year} ${myCar.make} ${myCar.model}.`);
OutputSuccess
Important Notes

Type aliases do not create new types at runtime. They only help during development.

You can use type aliases to combine other types, not just objects.

Summary

Type aliases give a name to an object shape for easier reuse.

They make your code cleaner and easier to understand.

Use type keyword followed by the object structure inside curly braces.

Practice

(1/5)
1. What is the main purpose of using a type alias for objects in TypeScript?
easy
A. To give a name to an object shape for reuse and clarity
B. To execute code faster at runtime
C. To create new JavaScript functions
D. To define variables without types

Solution

  1. Step 1: Understand what a type alias does

    A type alias names a specific shape or structure of an object so you can reuse it easily.
  2. Step 2: Compare options with this understanding

    Only To give a name to an object shape for reuse and clarity correctly describes this purpose; others describe unrelated concepts.
  3. Final Answer:

    To give a name to an object shape for reuse and clarity -> Option A
  4. Quick Check:

    Type alias = Named object shape [OK]
Hint: Type alias names object shapes for reuse and clarity [OK]
Common Mistakes:
  • Thinking type aliases affect runtime speed
  • Confusing type aliases with functions
  • Believing type aliases define variables
2. Which of the following is the correct syntax to create a type alias named Person with properties name (string) and age (number)?
easy
A. alias Person = { name: string; age: number; };
B. type Person = { name: string; age: number; };
C. type Person (name: string, age: number);
D. interface Person = { name: string; age: number; };

Solution

  1. Step 1: Recall correct type alias syntax

    Type aliases use the keyword type, then the name, equals sign, and object shape in curly braces.
  2. Step 2: Check each option

    type Person = { name: string; age: number; }; matches this syntax exactly. Options B, C, and D use incorrect keywords or syntax.
  3. Final Answer:

    type Person = { name: string; age: number; }; -> Option B
  4. Quick Check:

    Correct syntax = type Person = { name: string; age: number; }; [OK]
Hint: Use 'type Name = { ... }' for object type aliases [OK]
Common Mistakes:
  • Using 'alias' instead of 'type'
  • Using parentheses instead of braces
  • Confusing type alias with interface syntax
3. Given the type alias and code below, what is the output?
type Car = { brand: string; year: number };
const myCar: Car = { brand: "Toyota", year: 2020 };
console.log(myCar.brand + " " + myCar.year);
medium
A. undefined undefined
B. "brand year"
C. SyntaxError
D. "Toyota 2020"

Solution

  1. Step 1: Understand the type alias and object

    The type alias Car defines an object with brand and year. The object myCar matches this shape.
  2. Step 2: Evaluate the console.log statement

    It prints the brand and year properties joined by a space, so output is "Toyota 2020".
  3. Final Answer:

    "Toyota 2020" -> Option D
  4. Quick Check:

    myCar.brand + " " + myCar.year = "Toyota 2020" [OK]
Hint: Access object properties by name to get values [OK]
Common Mistakes:
  • Expecting property names printed instead of values
  • Confusing syntax causing errors
  • Forgetting to match object shape to type alias
4. Identify the error in this TypeScript code using a type alias:
type User = { username: string; age: number };
const user: User = { username: "Alice" };
medium
A. Missing property 'age' in the object assigned to 'user'
B. Incorrect type alias syntax
C. Variable 'user' should be declared with 'var' instead of 'const'
D. Extra property 'username' not allowed

Solution

  1. Step 1: Check the type alias requirements

    The type alias User requires both username and age properties.
  2. Step 2: Compare with the object assigned

    The object only has username, missing age, causing a type error.
  3. Final Answer:

    Missing property 'age' in the object assigned to 'user' -> Option A
  4. Quick Check:

    All required properties must be present [OK]
Hint: All properties in type alias must appear in assigned object [OK]
Common Mistakes:
  • Ignoring missing required properties
  • Thinking 'const' causes error here
  • Confusing extra vs missing properties
5. You want to create a type alias Product with properties id (number), name (string), and an optional description (string). Which is the correct way to define it?
hard
A. type Product = { id: number; name: string; description: string?; };
B. type Product = { id: number; name: string; description: string | undefined; };
C. type Product = { id: number; name: string; description?: string; };
D. type Product = { id: number; name: string; description: optional string; };

Solution

  1. Step 1: Recall how to mark optional properties in type aliases

    Optional properties use a question mark after the property name, like description?: string.
  2. Step 2: Check each option for correct optional syntax

    type Product = { id: number; name: string; description?: string; }; uses the correct syntax. type Product = { id: number; name: string; description: string | undefined; }; uses a union with undefined but is less idiomatic. Options A and C use invalid syntax.
  3. Final Answer:

    type Product = { id: number; name: string; description?: string; }; -> Option C
  4. Quick Check:

    Optional property = question mark after name [OK]
Hint: Use '?' after property name to mark optional [OK]
Common Mistakes:
  • Using 'optional' keyword instead of '?'
  • Placing '?' after type instead of property name
  • Using union with undefined unnecessarily
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard