BeginnerCoder

Lesson 24 — Exhaustive checks with never

Make the compiler find missing cases

never is the type of a value that cannot exist. In a switch over a discriminated union, once every case is handled, the leftover value in default has type never. If someone adds a new shape and forgets a case, assigning it to a never variable becomes a compile error that points straight at the gap.

default: {
  const unreachable: never = s; // error if a case is missing
  throw new Error("Unhandled");
}

Why it matters: the compiler, not your users, tells you about the case you forgot.

Want it another way?
Task

A triangle shape was added. Handle case "t" (base * h / 2) so the never check passes. Expect 16, then 6.

Run your code — when the output matches the task, you will see a green check. Then mark the lesson complete.

← Back
Next →
Test your knowledge

A quick 3-question quiz on this lesson — instant feedback.

Enjoying this lesson? Share it.

Keep going with TypeScript Foundations

Ready for more? Optional paid resources that pick up where this lesson leaves off.

Some links on this page are affiliate links: we may earn a commission at no extra cost to you. As an Amazon Associate I earn from qualifying purchases.