Как разработчики JavaScript, мы все знаем силу оператора switch. Это классическая структура управления, которая существует уже несколько десятилетий и используется во многих языках программирования.

Но в последние годы объектно-ориентированное программирование в JavaScript становится все более популярным, и многие разработчики ищут альтернативы оператору switch.

Объекты — отличный выбор, когда речь идет о замене операторов switch. Они обеспечивают простое и элегантное решение сложной проблемы. Объекты позволяют вам легко определять различные пути, по которым программа должна идти в зависимости от ввода, без необходимости писать кучу операторов if-else.

Написание заявления об условиях с помощью Switch

Корпус переключателя немного сложен для чтения и немного устарел, и он подвержен проблемам отладки.

    const handleSuccess = () => { /* do stuff */ }

    const handleFailure = () => { /* do stuff */ }

    const handlePending = () => { /* do stuff */ }
    
    
    switch(status) {
      case 'success':
          return handleSuccess();
      case 'failed':
          return handleFailure();
      case 'pending':
          return handlePending();
      default:
          throw Error('status not recognized');
  }

Быстрее писать, быстрее читать

Объекты можно использовать вместо операторов переключения в JavaScript с помощью объекта-обработчика.

const handleSuccess = () => { /* do stuff */ 

const handleFailure = () => { /* do stuff */ }

const handlePending = () => { /* do stuff */ }


 const handler = handlers[status];
 if (!handler) throw Error('Status not recognized');
     return handler();

Заключение

В целом, объекты обеспечивают гораздо более эффективный способ обработки сложной логики, чем операторы switch. Их легко поддерживать и модифицировать, так как вся логика содержится внутри самого объекта. Кроме того, они более читабельны и понятны. Итак, если вы ищете альтернативу операторам switch, использование объектов определенно стоит рассмотреть.