Challenge - 5 Problems
Interface Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of extended interface property access
What is the output of this TypeScript code when compiled and run with Node.js?
Typescript
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
const myDog: Dog = { name: "Buddy", breed: "Golden Retriever" };
console.log(myDog.name + " is a " + myDog.breed);Attempts:
2 left
💡 Hint
Remember that extending an interface adds properties from the base interface.
✗ Incorrect
The interface Dog extends Animal, so it has both 'name' and 'breed'. The object myDog has both properties, so accessing them prints the combined string.
❓ Predict Output
intermediate2:00remaining
Output when extending multiple interfaces
What will this TypeScript code output when run?
Typescript
interface A {
x: number;
}
interface B {
y: number;
}
interface C extends A, B {
z: number;
}
const obj: C = { x: 1, y: 2, z: 3 };
console.log(obj.x + obj.y + obj.z);Attempts:
2 left
💡 Hint
Extending multiple interfaces combines their properties.
✗ Incorrect
Interface C extends both A and B, so it has properties x, y, and z. The sum 1 + 2 + 3 equals 6.
🔧 Debug
advanced2:00remaining
Why does this extended interface cause a type error?
This TypeScript code causes a type error. What is the reason?
Typescript
interface Base {
id: number;
}
interface Extended extends Base {
id: string;
}
const obj: Extended = { id: "abc" };Attempts:
2 left
💡 Hint
Check if property types are compatible when extending interfaces.
✗ Incorrect
The interface Extended tries to change the type of 'id' from number to string, which is not allowed in TypeScript interface extension.
📝 Syntax
advanced2:00remaining
Identify the syntax error in interface extension
Which option contains the correct syntax to extend interface Person with interface Employee?
Attempts:
2 left
💡 Hint
The keyword to extend an interface is 'extends'.
✗ Incorrect
Only option A uses the correct syntax 'extends' to inherit from another interface.
🚀 Application
expert2:00remaining
Number of properties in extended interface object
Given these interfaces and object, how many properties does the object 'fullProfile' have?
Typescript
interface Contact {
email: string;
}
interface Profile extends Contact {
username: string;
age: number;
}
const fullProfile: Profile = {
email: "user@example.com",
username: "user123",
age: 30
};Attempts:
2 left
💡 Hint
Count all properties from the base and extended interfaces present in the object.
✗ Incorrect
The object fullProfile has 'email' from Contact and 'username' and 'age' from Profile, totaling 3 properties.