Replacing JavaScript switch statement with object literals - 30 seconds of code

PHOTO EMBED

Wed Aug 24 2022 07:12:01 GMT+0000 (Coordinated Universal Time)

Saved by @camtonguyen #javascript

const switchFn = (lookupObject, defaultCase = '_default') =>
  expression => (lookupObject[expression] || lookupObject[defaultCase])();

const knownFruit = () => console.log('Known fruit');
const unknownFruit = () => console.log('Unknown fruit');

const logFruit = {
  'apples': knownFruit,
  'oranges': knownFruit,
  'default': unknownFruit
};

const fruitSwitch = switchFn(logFruit, 'default');

fruitSwitch('apples'); // Logs: 'Known fruit'
fruitSwitch('pineapples'); // Logs: 'Unknown fruit'
content_copyCOPY

https://www.30secondsofcode.org/articles/s/javascript-switch-object