RivoCode

TypeScript in Depth · Generics · Lesson 10 of 16

Constraints on Generics

Concept

Constraints on Generics

The extends keyword lets you restrict a generic type to only types that have certain properties.

By the end of this lesson
  • Explain the core idea behind Constraints on Generics.
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
ExampleRunnable
function getLength<T extends { length: number }>(item: T): number {
  return item.length;
}
Try it Yourself »
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in Constraints on Generics. Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Explain why getLength([1,2,3]) works but getLength(42) would fail to compile.

Loading editor…

Console

Output will appear here...