Recall & Review
beginner
What is a generic class in TypeScript?A generic class is a class that can work with any data type specified when creating an instance. It uses type parameters to allow flexibility while keeping type safety.Click to reveal answer
intermediate
What does it mean to add constraints to a generic class?
Adding constraints means limiting the types that can be used with the generic class. This is done using the
extends keyword to require the type to have certain properties or methods.Click to reveal answer
intermediate
How do you declare a generic class with a constraint that the type must have a <code>length</code> property?You declare it like this: <pre>class MyClass<T extends { length: number }> { /* ... */ }</pre> This means <code>T</code> must have a <code>length</code> property of type <code>number</code>.Click to reveal answer
intermediate
Why use constraints in generic classes?
Constraints let you safely use properties or methods of the generic type inside the class, because you know those members exist. This prevents errors and improves code reliability.Click to reveal answer
beginner
Example: What will this code print?<br><pre>class Box<T extends { name: string }> {<br> constructor(public content: T) {}<br> printName() {<br> console.log(this.content.name);<br> }<br>}<br>const box = new Box({ name: 'Apple' });<br>box.printName();</pre>It will print
Apple because the content object has a name property with the value 'Apple'. The constraint ensures T has a name string.Click to reveal answer
What keyword is used to add constraints to a generic type in TypeScript?
✗ Incorrect
The
extends keyword is used to specify constraints on generic types in TypeScript.Which of these is a valid generic class declaration with a constraint?
✗ Incorrect
Only
extends is valid syntax for generic constraints in TypeScript.Why might you add a constraint like
T extends { length: number } to a generic class?✗ Incorrect
The constraint ensures the generic type has a
length property, so the class can use it without errors.What happens if you try to create an instance of a generic class with a type that does not meet the constraint?
✗ Incorrect
TypeScript enforces constraints at compile time and will show an error if the type does not satisfy the constraint.
Which of these is NOT a benefit of using generic constraints?
✗ Incorrect
Constraints limit types but do not force a single concrete type; they allow any type that meets the condition.
Explain what a generic class with constraints is and why it is useful in TypeScript.
Think about how you tell TypeScript what kind of types are allowed for the generic.
You got /5 concepts.
Describe how you would write a generic class that only accepts types with a 'name' string property and how you would use it.
Focus on the constraint and accessing the 'name' property inside the class.
You got /3 concepts.