Hej tam! Jestem dostawcą przełączników i dzisiaj chcę porozmawiać o tym, jak używać instrukcji switch z obiektami w JavaScript. Może to brzmieć trochę technicznie, ale przedstawię to w sposób łatwy do zrozumienia.
Na początek przyjrzyjmy się szybko, czym jest instrukcja switch w JavaScript. Instrukcja switch to instrukcja przepływu sterowania, która umożliwia ocenę wyrażenia i dopasowanie go do wielu przypadków. To trochę jak seria instrukcji if - else, ale w bardziej zorganizowany sposób.
niech owoc = 'jabłko'; switch (fruit) { case 'apple': console.log('To jest jabłko!'); przerwa; case 'banan': console.log('To jest banan!'); przerwa; domyślnie: console.log('Nie znam tego owocu.'); }
W tym prostym przykładzieprzełącznikinstrukcja sprawdza wartośćowoczmienny. Jeśli tak'jabłko', uruchamia w nim kodsprawablok. Theprzerwastwierdzenie jest tutaj kluczowe; zatrzymuje wykonywanieprzełącznikinstrukcja po znalezieniu dopasowania. Jeśli nie ma dopasowania,domyślnybiegi blokowe.
Porozmawiajmy teraz o używaniu instrukcji switch z obiektami. Obiekty w JavaScript to zbiór par klucz-wartość. Są bardzo przydatne do przechowywania powiązanych danych. Załóżmy, że mamy obiekt reprezentujący różne typy dostarczanych przez nas przełączników.
const switchTypes = { single: „Pojedynczy przełącznik Powerpoint”, doubleExtra: „Podwójny Powerpoint z dodatkowym przełącznikiem”, odporny na warunki atmosferyczne: „Wodoodporny pojedynczy przełącznik Powerpoint” }; niech wybranySwitch = 'pojedynczy'; switch (selectedSwitch) { case 'single': console.log(`Wybrałeś [Pojedynczy przełącznik Powerpoint](/electrical/switch/single-powerpoint-switch.html).`); przerwa; case 'doubleExtra': console.log(`Wybrałeś [Podwójny Powerpoint z dodatkowym przełącznikiem](/electrical/switch/double-Powerpoint-with-extra-switch.html).`); przerwa; case 'weatherproof': console.log(`Wybrałeś [odporny na warunki atmosferyczne pojedynczy przełącznik Powerpoint](/electrical/switch/weatherproof-single-powerpoint-switch.html).`); przerwa; domyślnie: console.log('Niestety, nie mamy tego typu przełącznika.'); }
W tym kodzie najpierw definiujemy obiektTypy przełącznikówktóry odwzorowuje krótkie nazwy na pełne nazwy naszych produktów przełączających. Następnie używamy aprzełącznikinstrukcja sprawdzająca wartośćwybranyprzełącznik. W zależności od wartości możemy wyświetlić informację o wybranym przełączniku, łącznie z linkiem do strony jego produktu.
Jedną z korzyści stosowania aprzełącznikinstrukcja z obiektami polega na tym, że czyni ona kod bardziej czytelnym i łatwiejszym w utrzymaniu. Jeśli w przyszłości będziemy musieli dodać nowy typ przełącznika, możemy po prostu dodać nową parę klucz-wartość doTypy przełącznikówobiekt i nowysprawawprzełącznikoświadczenie.
Weźmy bardziej praktyczny przykład. Załóżmy, że mamy funkcję, która przyjmuje polecenie przełącznika i zwraca komunikat potwierdzający.
funkcja ProcessSwitchOrder(switchType) { wyślij wiadomość; switch (switchType) { case 'single': message = `Twoje zamówienie na [Pojedynczy przełącznik Powerpoint](/electrical/switch/single-powerpoint-switch.html) zostało odebrane.`; przerwa; case 'doubleExtra': message = `Twoje zamówienie na [Double Powerpoint z dodatkowym przełącznikiem](/electrical/switch/double-powerpoint-with-extra-switch.html) zostało odebrane.`; przerwa; case 'weatherproof': message = `Twoje zamówienie na [Wodoodporny pojedynczy przełącznik Powerpoint](/electrical/switch/weatherproof-single-Powerpoint-switch.html) zostało odebrane.`; przerwa; default: message = 'Przykro nam, nie możemy przetworzyć Twojego zamówienia na ten typ przełącznika.'; } wiadomość zwrotna; } niech OrderType = 'doubleExtra'; console.log(processSwitchOrder(typ zamówienia));
Ta funkcjaprocesSwitchOrderbierzetyp przełącznikajako argument. Wewnątrzprzełącznikinstrukcji, tworzy komunikat potwierdzający w oparciu o typ zamówionego przełącznika. Jeślityp przełącznikanie zostanie rozpoznany, zwraca komunikat o błędzie.
Kolejną rzeczą wartą odnotowania jest to, że wartości w plikusprawainstrukcje muszą odpowiadać wartościom kluczy, z którymi sprawdzasz. JavaScript używa ścisłej równości (===), aby porównać wartość w plikuprzełącznikwyrażenie z wartościami wsprawaoświadczenia. Upewnij się więc, że typy i wartości są dokładnie takie same.
Załóżmy, że chcemy obsłużyć różne akcje w zależności od typu przełącznika w bardziej złożonym scenariuszu. Być może mamy funkcję, która oblicza cenę przełącznika na podstawie jego typu.
funkcja obliczSwitchPrice(switchType) { niech cena; przełącznik (switchType) { case 'single': cena = 10; przerwa; przypadek „doubleExtra”: cena = 20; przerwa; obudowa 'odporna na warunki atmosferyczne': cena = 15; przerwa; domyślnie: cena = 0; } cena zwrotna; } niech type = 'odporny na warunki atmosferyczne'; niech switchPrice = oblicz cenęSwitch(typ); console.log(`Cena [Wodoodpornego pojedynczego przełącznika Powerpoint](/electrical/switch/weatherproof-single-powerpoint-switch.html) wynosi $${switchPrice}.`);
W tym przykładzieoblicz cenę przełącznikafunkcja wykorzystuje aprzełącznikoświadczenie określające cenę przełącznika w zależności od jego rodzaju. Następnie zwraca obliczoną cenę.
Jeśli pracujesz z dużą liczbą typów przełączników, możesz rozważyć zastosowanie podejścia obiektowego zamiast długiegoprzełącznikoświadczenie. Możesz utworzyć obiekt, w którym klawisze to typy przełączników, a wartości to funkcje wykonujące niezbędne akcje.
const switchActions = { single:function() { return `Wybrałeś [Pojedynczy przełącznik Powerpoint](/electrical/switch/single-powerpoint-switch.html).`; }, doubleExtra:function() { return `Wybrałeś [podwójny punkt zasilania z dodatkowym przełącznikiem](/electrical/switch/double-powerpoint-with-extra-switch.html).`; }, Weatherproof:function() { return `Wybrałeś [Wodoodporny pojedynczy przełącznik Powerpoint](/electrical/switch/weatherproof-single-powerpoint-switch.html).`; } }; niech wybraneSwitch = 'doubleExtra'; if (switchActions[chosenSwitch]) { console.log(switchActions[chosenSwitch]()); } else { console.log('Niestety, nie mamy przełącznika tego typu.'); }
To podejście może być bardziej elastyczne i łatwiejsze w zarządzaniu w miarę rozwoju aplikacji.


Podsumowując, używając aprzełącznikinstrukcja z obiektami w JavaScript to świetny sposób na radzenie sobie z różnymi przypadkami w oparciu o właściwości obiektu. Niezależnie od tego, czy tworzysz wiadomości z potwierdzeniem zamówienia, obliczasz ceny, czy wykonujesz inne czynności związane z dostarczanymi przez nas typami przełączników, zapewnia przejrzysty i zorganizowany sposób pisania kodu.
Jeśli jesteś zainteresowany zakupem któregokolwiek z naszych przełączników, niezależnie od tego, czy jest toPojedynczy przełącznik Powerpoint,Podwójny Powerpoint z dodatkowym przełącznikiem, LubOdporny na warunki atmosferyczne pojedynczy przełącznik Powerpoint, skontaktuj się z nami w celu uzyskania wyceny i rozpoczęcia procesu zakupu. Jesteśmy tutaj, aby pomóc Ci znaleźć przełącznik odpowiedni do Twoich potrzeb.
Referencje:
- Dokumentacja JavaScript w dokumentach internetowych MDN
- „JavaScript: ostateczny przewodnik” Davida Flanagana





