Bird
Raised Fist0
Typescriptprogramming~15 mins

Creating type aliases in Typescript - Try It Yourself

Choose your learning style10 modes available
Creating type aliases
📖 Scenario: You are building a simple program to manage a list of books in a library. Each book has a title and an author.
🎯 Goal: Create a type alias for a book object, then use it to define a list of books and print their titles.
📋 What You'll Learn
Create a type alias called Book with properties title and author, both strings.
Create a variable called library which is an array of Book objects.
Add at least two books to the library array with exact titles and authors.
Use a for loop to print each book's title.
💡 Why This Matters
🌍 Real World
Type aliases help you clearly define the shape of data objects, making your code easier to understand and less error-prone.
💼 Career
Many programming jobs require working with typed data structures to build reliable applications, especially in TypeScript.
Progress0 / 4 steps
1
Create the Book type alias
Create a type alias called Book with two string properties: title and author.
Typescript
Hint

Use the type keyword to create a type alias with properties.

2
Create the library array
Create a variable called library that is an array of Book objects. Add these two books exactly: { title: "The Hobbit", author: "J.R.R. Tolkien" } and { title: "1984", author: "George Orwell" }.
Typescript
Hint

Use const library: Book[] = [...] to create the array with the two book objects.

3
Loop through library to print titles
Use a for loop with variable book to iterate over library and print each book's title using console.log.
Typescript
Hint

Use for (const book of library) to loop and console.log(book.title) to print.

4
Print the book titles
Run the program to print the titles of the books in library. The output should be exactly:
The Hobbit
1984
Typescript
Hint

Run the program and check the console output matches the two book titles on separate lines.

Practice

(1/5)
1. What is the main purpose of creating a type alias in TypeScript?
easy
A. To import external modules
B. To create a new variable
C. To define a function
D. To give a new name to a type for easier reuse

Solution

  1. Step 1: Understand what a type alias does

    A type alias creates a new name for an existing type, making code easier to read and reuse.
  2. Step 2: Compare options with the definition

    Only To give a new name to a type for easier reuse correctly describes this purpose; others describe unrelated concepts.
  3. Final Answer:

    To give a new name to a type for easier reuse -> Option D
  4. Quick Check:

    Type alias = new name for type [OK]
Hint: Type aliases rename types to simplify code [OK]
Common Mistakes:
  • Confusing type alias with variable declaration
  • Thinking type alias creates new data
  • Mixing type alias with function definitions
2. Which of the following is the correct syntax to create a type alias named Age for the type number?
easy
A. alias Age: number;
B. type Age = number;
C. let Age: number;
D. type Age == number;

Solution

  1. Step 1: Recall TypeScript syntax for type aliases

    The correct syntax uses the keyword type, followed by the alias name, an equals sign, and the type.
  2. Step 2: Check each option

    type Age = number; matches the correct syntax exactly. Options B, C, and D have syntax errors or wrong keywords.
  3. Final Answer:

    type Age = number; -> Option B
  4. Quick Check:

    type alias syntax = type Name = Type [OK]
Hint: Use 'type Name = Type;' to create aliases [OK]
Common Mistakes:
  • Using 'alias' instead of 'type'
  • Using '==' instead of '='
  • Confusing type alias with variable declaration
3. What will be the output of this TypeScript code?
type ID = string | number;
function printId(id: ID) {
  console.log(typeof id);
}
printId(123);
printId('abc');
medium
A. Error at compile time
B. string number
C. number string
D. ID ID

Solution

  1. Step 1: Understand the type alias and function behavior

    The alias ID allows string or number. The function prints the type of the argument.
  2. Step 2: Trace the function calls

    Calling printId(123) prints 'number'. Calling printId('abc') prints 'string'.
  3. Final Answer:

    number string -> Option C
  4. Quick Check:

    typeof 123 = number, typeof 'abc' = string [OK]
Hint: Check typeof values for union type inputs [OK]
Common Mistakes:
  • Assuming type alias changes runtime behavior
  • Expecting compile error for union types
  • Mixing order of printed types
4. Identify the error in this TypeScript code:
type User = {
  name: string;
  age: number;
}

const user: User = {
  name: 'Alice',
  age: '25'
};
medium
A. Property 'age' should be a number, not a string
B. Missing semicolon after type alias
C. Type alias name cannot be 'User'
D. Object properties must be declared with 'let'

Solution

  1. Step 1: Check the type alias definition

    The alias User expects age to be a number.
  2. Step 2: Check the object assigned to user

    The object has age: '25', which is a string, causing a type error.
  3. Final Answer:

    Property 'age' should be a number, not a string -> Option A
  4. Quick Check:

    Type mismatch in object property [OK]
Hint: Match property types exactly in objects [OK]
Common Mistakes:
  • Ignoring type mismatch in object properties
  • Thinking semicolon is mandatory after type alias
  • Confusing variable declaration rules with type alias
5. Given these type aliases:
type Point = { x: number; y: number };
type Circle = { center: Point; radius: number };
type Shape = Circle | Point;

Which of the following is a valid Shape object?
hard
A. { center: { x: 0, y: 0 }, radius: 5 }
B. { x: 0, y: 0, radius: 5 }
C. { center: { x: 0 }, radius: 5 }
D. { x: '0', y: 0 }

Solution

  1. Step 1: Understand the type aliases

    Point is an object with x and y as numbers. Circle has a center of type Point and a radius number. Shape can be either.
  2. Step 2: Check each option against the types

    { center: { x: 0, y: 0 }, radius: 5 } matches Circle exactly. { x: 0, y: 0, radius: 5 } has extra radius on a Point shape, invalid. { center: { x: 0 }, radius: 5 } has incomplete center. { x: '0', y: 0 } has x as string, invalid.
  3. Final Answer:

    { center: { x: 0, y: 0 }, radius: 5 } -> Option A
  4. Quick Check:

    Valid Shape = Circle or Point matching types [OK]
Hint: Match object shape exactly for union types [OK]
Common Mistakes:
  • Mixing properties of union types incorrectly
  • Using wrong property types inside objects
  • Assuming partial objects are valid
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