Bird
Raised Fist0
Typescriptprogramming~15 mins

Type alias for objects in Typescript - Mini Project: Build & Apply

Choose your learning style10 modes available
Type Alias for Objects in TypeScript
📖 Scenario: You are building a simple contact list app. Each contact has a name and an email.To keep your code clean and easy to understand, you want to create a type alias for the contact object.
🎯 Goal: Create a type alias called Contact for an object with name and email properties, then create a variable using this type and print the contact's details.
📋 What You'll Learn
Create a type alias called Contact with name and email as string properties
Create a variable called myContact of type Contact with name 'Alice' and email 'alice@example.com'
Print the contact's name and email using console.log
💡 Why This Matters
🌍 Real World
Type aliases help keep code organized and clear when working with objects like user profiles, settings, or data records.
💼 Career
Understanding type aliases is important for writing clean, maintainable TypeScript code in many software development jobs.
Progress0 / 4 steps
1
Create the Contact type alias
Create a type alias called Contact for an object with two string properties: name and email.
Typescript
Hint

Use the type keyword followed by the alias name and an object shape with properties.

2
Create a variable of type Contact
Create a variable called myContact of type Contact and assign it an object with name set to 'Alice' and email set to 'alice@example.com'.
Typescript
Hint

Use const myContact: Contact = { name: 'Alice', email: 'alice@example.com' };

3
Print the contact's name and email
Use console.log to print the contact's name and email from the myContact variable in the format: Name: Alice, Email: alice@example.com.
Typescript
Hint

Use a template string with backticks and ${} to insert variables.

4
Run the program to see the output
Run the program and observe the output printed to the console.
Typescript
Hint

The console should show the contact's name and email exactly as formatted.

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