DEV Community

Discussion on: If-Else or Switch-Case: Which One to Pick?

Collapse
 
peerreynders profile image
peerreynders • Edited

When in doubt — use functions.

const topResult = (next) => (grade) =>
  grade === 'A+' ? 'Nailed It! 🥳' : next(grade);

const midGrades = new Set(['A', 'B+', 'B']);
const midResult = (next) => (grade) =>
  midGrades.has(grade) ? 'Passed 💃' : next(grade);

const lowResult = (next) => (grade) =>
  grade === 'C' ? 'Barely Survived 😌' : next(grade);

const failResult = (_grade) => 'Failed 😢';

const studentFinalResult = topResult(midResult(lowResult(failResult)));

console.log(studentFinalResult('A+')); // "Nailed It! 🥳
Enter fullscreen mode Exit fullscreen mode

😁

MDN: Closures

Collapse
 
taniarascia profile image
Tania Rascia

This is uniquely terrible. It's so much less readable than either an if/else or a switch.

Collapse
 
peerreynders profile image
peerreynders

This is uniquely terrible.

Chain of Responsibility sends its regards.