May 2025posted on 05.31.2025TypeScript: Exhaustiveness checking in switch with union type The never data type in TypeScript can be used to check that all cases in a switch are considered. type Day = | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"; function getDayIndex(day: Day) { switch (day) { case "Monday": { return 1; } default: { // `Type 'string' is not assignable to type 'never'.` const _exhaustiveCheck: never = day; return _exhaustiveCheck; } } } _exhaustiveCheck will have an error because TypeScript is attempting to assign the rest of the Day union to never which cannot happen. This can be found in the TypeScript documentation.No reactions yet
TypeScript: Exhaustiveness checking in switch with union type
The
neverdata type in TypeScript can be used to check that all cases in a switch are considered._exhaustiveCheckwill have an error because TypeScript is attempting to assign the rest of theDayunion toneverwhich cannot happen.This can be found in the TypeScript documentation.