What is the purpose of the switch statement?
JavaScriptThe short answer
A switch statement evaluates an expression and executes code based on which case matches. It is an alternative to long if/else if chains when comparing one value against multiple options. Each case needs a break to prevent fall-through.
How it works
function getDay(num) { switch (num) { case 0: return 'Sunday'; case 1: return 'Monday'; case 2: return 'Tuesday'; case 3: return 'Wednesday'; case 4: return 'Thursday'; case 5: return 'Friday'; case 6: return 'Saturday'; default: return 'Invalid day'; }}switch vs if/else
// if/else chain — verbose with many conditionsif (status === 'loading') { showSpinner();} else if (status === 'success') { showData();} else if (status === 'error') { showError();} else { showDefault();}// switch — cleaner for many casesswitch (status) { case 'loading': showSpinner(); break; case 'success': showData(); break; case 'error': showError(); break; default: showDefault();}The fall-through trap
Without break, execution falls through to the next case:
switch (fruit) { case 'apple': console.log('Apple'); // missing break! Falls through to the next case case 'banana': console.log('Banana'); break;}// If fruit is "apple", prints both "Apple" AND "Banana"Sometimes fall-through is intentional — for grouping cases:
switch (day) { case 'Saturday': case 'Sunday': console.log('Weekend'); break; default: console.log('Weekday');}Important: switch uses strict equality
switch compares with ===, not ==:
switch (value) { case '1': console.log('string'); break; case 1: console.log('number'); break;}// value = 1 → "number"// value = '1' → "string"Interview Tip
Show a basic switch, mention the fall-through trap with break, and note that it uses strict equality. In practice, many developers prefer objects or maps over switch for simple value lookups. Mentioning that alternative shows you think about code style.
Why interviewers ask this
This tests fundamental control flow knowledge. Knowing about fall-through and strict equality shows you understand the details, not just the syntax.