Bird
Raised Fist0
Typescriptprogramming~10 mins

Type alias for objects in Typescript - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a type alias named Person for an object with a name string property.

Typescript
type Person = [1];
Drag options to blanks, or click blank then click option'
A{ name: string }
B[name: string]
C(name: string)
D<name: string>
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets or parentheses instead of curly braces.
Forgetting the colon between property name and type.
2fill in blank
medium

Complete the code to define a type alias Car with make and year properties.

Typescript
type Car = { make: string; [1]: number };
Drag options to blanks, or click blank then click option'
Amodel
Byear
Ccolor
Dprice
Attempts:
3 left
💡 Hint
Common Mistakes
Using a wrong property name like model or color.
Using a string type instead of number for the year.
3fill in blank
hard

Fix the error in the type alias by completing the code correctly.

Typescript
type Book = [1] title: string; author: string };
Drag options to blanks, or click blank then click option'
A[
B(
C{
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets or parentheses instead of curly braces.
Missing the opening brace causes syntax errors.
4fill in blank
hard

Fill both blanks to define a type alias Employee with id as a number and name as a string.

Typescript
type Employee = { [1]: number; [2]: string };
Drag options to blanks, or click blank then click option'
Aid
Bage
Cname
Dsalary
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong property names like age or salary.
Swapping the types of the properties.
5fill in blank
hard

Fill all three blanks to define a type alias Product with id (number), name (string), and inStock (boolean).

Typescript
type Product = { [1]: number; [2]: string; [3]: boolean };
Drag options to blanks, or click blank then click option'
AinStock
Bname
Cid
Davailable
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong property names like available instead of inStock.
Mixing up the order of properties.

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