Natrag na blog

Donošenje odluka pomoću naredbe Switch u Javascriptu

Donošenje odluka pomoću naredbe Switch u Javascriptu

Uvod

Uvjetne naredbe su jedan od najvažnijih tokova upravljanja u bilo kojem programskom jeziku. Koristimo ih za određivanje ponašanja izvršavanja pod određenim uvjetom. U Javascript, uvjetni blokovi se mogu izgraditi pomoću if, else if, else, i switch naredbi.

Naredba switch olakšava čitanje toka upravljanja donošenjem odluke na temelju mogućih ishoda izraza. Ovisno o podudarnom slučaju upotrebe, može se izvršiti jedan ili više blokova koda. Upravljanje switch je slično naredbi else if . Međutim, switch ima čitljiviju sintaksu. Također je idealan za scenarije s više mogućih ishoda.

U ovom vodiču, fokusirat ćemo se na switch naredbu u JavaScriptu i implementirati je za izgradnju složenih upravljačkih struktura. Također ćemo naučiti kako koristiti break , case, i default naredbe unutar switch bloka za usmjeravanje toka upravljanja.

Korištenje Switch naredbe

Naredba switch radi tako da uspoređuje vrijednost varijable s mogućim izrazima. Zatim izvršava blok koda koji odgovara ishodu. Sintaksa switch  naredbe se ne razlikuje od if naredbe. Ukratko, sintaksa switch naredbe piše se kao:

Ispod je primjer switch naredbe. Ima dva slučaja ili dva moguća ishoda zajedno s rezervnom opcijom specificiranom ključnom riječi default. Ova rezervna opcija se izvršava kada se izvršavanje završi ili kada se ne pronađe odgovarajući slučaj:

Gornji kod se izvršava na sljedeći način:

  1. Prvo se procjenjuje izraz.

  2. Zatim se rezultat izraza uspoređuje s case x. Ako se vrijednost podudara, blok koda ispod case x se izvršava.

  3. Ako se izraz ne podudara s case x, tada se uspoređuje case y podudara. Ako se pronađe podudaranje, tada se case y kod se izvršava.

  4. Naposljetku, ako se ni case x niti case y ne podudaraju, tada se default kod izvršava i upravljanje izlazi iz switch bloka.

Praktični primjer

Kako biste razumjeli switch naredbu, pogledajmo praktični primjer. Izdvojit ćemo vrijednost dana u tjednu za trenutni datum pomoću metode getDay() JavaScriptovog Date objekta. Ova vrijednost je broj, za nedjelju pa sve do 6 što predstavlja subotu. Procijenit ćemo je u odnosu na vrijednosti kako bismo odredili koji je dan u tjednu:

Zatim ćemo poslati ovu vrijednost u switch naredbu. Naredba switch proći će od vrha do dna kako bi je usporedila sa slučajevima i odredila koji je dan u tjednu. Kada se slučaj pronađe, naredba break zaustavit će daljnje izvršavanje switch bloka i procjenu naredbi:

Ovisno o vrijednosti koju vrati getDate() metoda, ona će se testirati u odnosu na slučajeve jedan po jedan, počevši od vrha. Izlaz će biti različit ovisno o danu u kojem ste pokrenuli kod. Zadani (default) blok koda postavljen je tako da, ako nijedan slučaj ne odgovara, možemo obraditi taj scenarij. Međutim, u ovom kodu, default se nikada neće pozvati jer postoji samo konačan broj dana u tjednu.

Naredba break osigurava da se, nakon što se pronađe odgovarajući slučaj, više ne provjeravaju drugi slučajevi i kontrola izlazi iz switch naredbe. To čini program učinkovitijim i bržim.

Testiranje raspona u naredbi Switch

Do sada smo gledali vrlo jednostavne primjere upotrebe. No, ponekad je potrebno testirati raspon vrijednosti, za razliku od jedne vrijednosti. To možemo učiniti tako da naš izraz postavimo na true i izvedemo operaciju unutar svake case naredbe.

Pokažimo ovaj primjer upotrebe pomoću primjera. Uzet ćemo broj i zatim ga pretvoriti u ocjenu koristeći donju kategorizaciju:

  • Ocjena 90 i više je A

  • Ocjena od 80 do 89 je B

  • Ocjena od 70 do 79 je C

  • Ocjena od 60 do 69 je D

  • Ocjena 59 ili manje je F

Ove ćemo izjave napisati kao switch naredbe. Ispod je kod za to:

Za razliku od gore navedenih primjera koda, ovdje smo izraz u zagradi postavili kao true. Stoga, koja god case naredba odgovara vrijednosti true, ona će se izvršiti. Baš kao i else if naredba, izvršit će se prva naredba koja odgovara navedenoj vrijednosti. Ovdje će izlaz biti B, unatoč činjenici da čak i C i D također odgovaraju izrazu.

Višestruki slučajevi

Ako želite imati više od jednog case-a s istim blokom koda, to je također moguće. To je analogno ili uvjetu u if naredbi. U takvim scenarijima možemo odrediti više od jednog case-a za svaki blok koda.

Kako bismo ilustrirali ovaj koncept, pružit ćemo primjer s mjesecima u godini. Ove ćemo mjesece kategorizirati u godišnja doba. Prvo ćemo upotrijebiti novu Date() metodu kako bismo pronašli broj koji odgovara trenutnom mjesecu i primijenili ga na varijablu month. Metoda Date().getMonth() vraća broj od 0  do 11, pri čemu je 0 siječanj, a 11 je dodijeljen prosincu.

Kategorizirat ćemo prema sljedećoj specifikaciji:

  • Zima: siječanj, veljača i ožujak

  • Proljeće: travanj, svibanj i lipanj

  • Ljeto: srpanj, kolovoz i rujan

  • Jesen: listopad, studeni i prosinac

Evo kako će kod izgledati:

Kada se gornji kod izvrši, ovisno o mjesecu, naziv godišnjeg doba bit će ispisan na konzoli.

Zaključak

U ovom smo vodiču pokazali kako koristiti switch naredbu u JavaScript aplikacijama. Također smo primijenili switch naredbu na raspon i višestruke slučajeve zajedno s ključnom riječi default. Ako želite saznati više o JavaScriptu, možete pogledati sljedeće vodiče:

Sretno programiranje!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.