JavaScript: Użyj obiektów Const zamiast instrukcji Switch
Jako programiści JavaScript wszyscy znamy moc instrukcji switch. Jest to klasyczna struktura kontrolna, która istnieje od dziesięcioleci i jest używana w wielu językach programowania.
Jednak w ostatnich latach programowanie obiektowe stało się coraz bardziej popularne w JavaScript, a wielu programistów szuka obecnie alternatyw dla instrukcji switch.
Obiekty są doskonałym wyborem, jeśli chodzi o zastępowanie instrukcji switch. Zapewniają proste, eleganckie rozwiązanie złożonego problemu. Obiekty umożliwiają łatwe definiowanie różnych ścieżek, którymi program powinien podążać w zależności od danych wejściowych, bez konieczności pisania wielu instrukcji if-else.
Pisanie instrukcji warunków za pomocą Switcha
Obudowa przełącznika jest trochę trudna do odczytania i trochę stara, i jest podatna na problemy z debugowaniem.
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');
}
Obiekty mogą być używane zamiast instrukcji przełączania w JavaScript za pomocą obiektu obsługi
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();
Ogólnie rzecz biorąc, obiekty zapewniają znacznie wydajniejszy sposób obsługi złożonej logiki niż instrukcje przełączania. Są łatwe w utrzymaniu i modyfikacji, ponieważ cała logika zawarta jest w samym obiekcie. Ponadto są bardziej czytelne i łatwiejsze do zrozumienia. Tak więc, jeśli szukasz alternatywy dla instrukcji switch , zdecydowanie warto rozważyć użycie obiektów .

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































