Bird
Raised Fist0
Typescriptprogramming~5 mins

Multiple interface extension in Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does 'multiple interface extension' mean in TypeScript?
It means one interface can inherit properties and methods from more than one other interface, combining them into a single interface.
Click to reveal answer
beginner
How do you extend multiple interfaces in TypeScript? Show the syntax.
Use the extends keyword followed by a comma-separated list of interfaces. Example:
interface A { a: number; }
interface B { b: string; }
interface C extends A, B { c: boolean; }
Click to reveal answer
intermediate
Can a class implement an interface that extends multiple interfaces?
Yes. When a class implements such an interface, it must provide all properties and methods from all the extended interfaces.
Click to reveal answer
advanced
What happens if two extended interfaces have properties with the same name but different types?
TypeScript will raise an error because the property types conflict. The extending interface must resolve the conflict or avoid incompatible overlaps.
Click to reveal answer
beginner
Example: Write interfaces A and B, then interface C that extends both. Add one property to each. What properties does C have?
interface A { x: number; }
interface B { y: string; }
interface C extends A, B { z: boolean; }

Interface C has properties x, y, and z.
Click to reveal answer
How do you extend multiple interfaces in TypeScript?
Ainterface C extends A, B {}
Binterface C implements A, B {}
Cclass C extends A, B {}
Dclass C implements A, B {}
If interface C extends interfaces A and B, which properties must a class implementing C have?
AProperties from A, B, and C
BOnly properties from C
CProperties from A and B only
DNo properties required
What error occurs if two extended interfaces have the same property name but different types?
ANo error, TypeScript merges types
BType conflict error
CRuntime error only
DProperty is ignored
Which keyword is used by a class to follow an interface?
Ainherits
Bextends
Cimplements
Duses
Can interfaces extend more than two interfaces?
AOnly one interface allowed
BNo, only two interfaces max
CDepends on TypeScript version
DYes, any number separated by commas
Explain how multiple interface extension works in TypeScript and why it is useful.
Think about how you can combine different sets of properties into one interface.
You got /4 concepts.
    Describe what happens when a class implements an interface that extends multiple interfaces.
    Remember the class must fulfill all contracts from all interfaces.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does interface C extends A, B mean in TypeScript?
      easy
      A. Interface C is unrelated to interfaces A and B.
      B. Interface C can only have properties from A or B, not both.
      C. Interface C replaces interfaces A and B completely.
      D. Interface C includes all properties from interfaces A and B.

      Solution

      1. Step 1: Understand interface extension

        When an interface extends others, it inherits all their properties.
      2. Step 2: Apply to multiple interfaces

        Extending both A and B means C has all properties from both interfaces combined.
      3. Final Answer:

        Interface C includes all properties from interfaces A and B. -> Option D
      4. Quick Check:

        Multiple interface extension = combined properties [OK]
      Hint: Extending multiple interfaces merges all their properties [OK]
      Common Mistakes:
      • Thinking extension replaces interfaces
      • Believing only one interface's properties are included
      • Confusing extension with implementation
      2. Which of the following is the correct syntax to extend two interfaces A and B in TypeScript?
      easy
      A. interface C extends A, B {}
      B. interface C extends (A & B) {}
      C. interface C implements A, B {}
      D. interface C inherits A, B {}

      Solution

      1. Step 1: Recall TypeScript interface extension syntax

        Interfaces extend others using extends followed by comma-separated interfaces.
      2. Step 2: Check each option

        interface C extends A, B {} uses correct syntax: interface C extends A, B {}. Others are invalid syntax.
      3. Final Answer:

        interface C extends A, B {} -> Option A
      4. Quick Check:

        Correct syntax uses extends with commas [OK]
      Hint: Use 'extends A, B' to extend multiple interfaces [OK]
      Common Mistakes:
      • Using implements instead of extends for interfaces
      • Using parentheses or & inside extends
      • Using 'inherits' keyword which doesn't exist
      3. Given the code:
      interface A { x: number; }
      interface B { y: string; }
      interface C extends A, B { z: boolean; }
      const obj: C = { x: 10, y: "hello", z: true };

      What is the type of obj?
      medium
      A. { x: number; z: boolean; }
      B. { x: number; y: string; z: boolean; }
      C. { y: string; z: boolean; }
      D. { x: number; y: string; }

      Solution

      1. Step 1: Understand interface C extension

        Interface C extends A and B, so it has properties x (number), y (string), and its own z (boolean).
      2. Step 2: Analyze object type

        The object has all three properties with correct types, matching combined interface C.
      3. Final Answer:

        { x: number; y: string; z: boolean; } -> Option B
      4. Quick Check:

        Extended interface properties combine in object type [OK]
      Hint: Extended interfaces combine all properties in the new type [OK]
      Common Mistakes:
      • Ignoring properties from one of the extended interfaces
      • Missing the new property z in interface C
      • Confusing property types
      4. What is wrong with this code?
      interface A { a: number; }
      interface B { b: string; }
      interface C extends A, B {}
      const obj: C = { a: 5 };
      medium
      A. Property 'b' is missing in object assigned to type C.
      B. Interface C cannot extend two interfaces.
      C. Property 'a' should be a string, not number.
      D. Object syntax is invalid.

      Solution

      1. Step 1: Check interface C properties

        Interface C extends A and B, so it requires properties 'a' (number) and 'b' (string).
      2. Step 2: Check object assigned to C

        The object only has 'a', missing required 'b' property, causing a type error.
      3. Final Answer:

        Property 'b' is missing in object assigned to type C. -> Option A
      4. Quick Check:

        All extended interface properties must be present [OK]
      Hint: All properties from extended interfaces must be included [OK]
      Common Mistakes:
      • Assuming extending multiple interfaces is invalid
      • Ignoring missing properties in object
      • Confusing property types
      5. You have interfaces:
      interface Name { first: string; last: string; }
      interface Contact { email: string; phone: string; }
      interface Employee extends Name, Contact { id: number; }

      Which object correctly implements Employee?
      hard
      A. { email: "jane@example.com", phone: "123-456", id: 101 }
      B. { first: "Jane", last: "Doe", id: 101 }
      C. { first: "Jane", last: "Doe", email: "jane@example.com", phone: "123-456", id: 101 }
      D. { first: "Jane", last: "Doe", email: "jane@example.com", id: 101 }

      Solution

      1. Step 1: List required properties of Employee

        Employee extends Name and Contact, so it needs first, last, email, phone, and also id.
      2. Step 2: Check each object for all required properties

        Only { first: "Jane", last: "Doe", email: "jane@example.com", phone: "123-456", id: 101 } has all five properties with correct types.
      3. Final Answer:

        { first: "Jane", last: "Doe", email: "jane@example.com", phone: "123-456", id: 101 } -> Option C
      4. Quick Check:

        All extended interface properties plus own must be present [OK]
      Hint: Include all properties from all extended interfaces plus new ones [OK]
      Common Mistakes:
      • Missing some properties from extended interfaces
      • Confusing which properties belong to which interface
      • Leaving out the new property id
      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