JavaScript-vaihtolausunto
The JavaScript-kytkinlauseke arvioi lausekkeen ja suorittaa koodilohkon vastaavien tapausten perusteella. Se tarjoaa vaihtoehdon pitkille if-else-ketjuille, mikä parantaa luettavuutta ja ylläpidettävyyttä erityisesti käsiteltäessä useita ehdollisia haaroja.
Sisällysluettelo
- Vaihda lausekkeen syntaksi
- Miten Switch Statement toimii
- Switch-lausunnon vuokaavio
- Yleiset koodilohkot
Vaihda lausekkeen syntaksi
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; } -
Expression>on arvo, jota haluat verrata. -
Case value1>,case value2>jne. edustavat mahdollisia arvojaexpression>. -
break>lausunto lopettaaswitch>lausunto. Ilman sitä täytäntöönpano jatkuu seuraavaan tapaukseen. -
Default>määrittää koodin, joka suoritetaan, jos mikään tapauksista ei vastaaexpression>.
Miten Switch Statement toimii
- Arviointi : Ilmaisu sisällä
switch>lausunto arvioidaan kerran. - Vertailu : Lausekkeen arvoa verrataan kuhunkin
case>etiketti (käyttäen tiukkaa tasa-arvoa===>). - Toteutus : Jos vastaavuus löytyy, vastaava koodilohko vastaavuuden jälkeen
case>etiketti suoritetaan. Jos vastaavuutta ei löydy, suoritus hyppää kohtaandefault>tapaus (jos olemassa) tai jatkuu seuraavalla lauseella lauseen jälkeenswitch>lohko. - Taukolausunto : Koodilohkon suorittamisen jälkeen
break>lausunto lopettaaswitch>lauseke, joka estää täytäntöönpanoa siirtymästä myöhempään tapaukseen. Josbreak>jätetään pois, suoritus jatkuu seuraavaan tapaukseen (tunnetaan nimellä fall-through). - Oletustapaus :
default>tapaus on valinnainen. Jos vastaavuutta ei löydy, koodilohko alladefault>teloitetaan.
Switch-lausunnon vuokaavio
Esimerkki kytkinlausekkeesta:
Täällä tulostamme päivän nimen päivänä 3.
Javascript let day = 3; let dayName; switch (day) { case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday Lähtö
Wednesday
Selitys:
-
Day>on asetettu3>. - The
switch>lausunto arvioiday>. - Siitä asti kun
day>On3>,case 3>lohko suoritetaan, määritetään'Wednesday'>todayName>. - The
break>lausunto päättyyswitch>lausunto, joka estää täytäntöönpanon jatkumisen muissa tapauksissa.
Esimerkki kytkinlausekkeesta:
Täällä tarkistamme arvosanamme kytkinkotelon avulla.
Javascript let grade = 'B'; let result; switch (grade) { case 'A': result = 'A (Excellent)'; break; case 'B': result = 'B (Average)'; break; case 'C': result = 'C (Below than average)'; break; default: result = 'No Grade'; } console.log(result); Lähtö
B (Average)
Selitys:
-
Grade>on annettu arvo'B'>. - The
switch>lausunto arvioi arvongrade>. - Siitä asti kun
grade>On'B'>, seuraava koodilohkocase 'B':>teloitetaan. - The
result>muuttujalle on määritetty merkkijono'B (Average)'>. - The
break>lausunto lopettaaswitch>lausunto. -
result>kirjautuu konsoliin, joka tulostaa'B (Average)'>.
Riko avainsana
The break> avainsanaa käytetään lopettamaan silmukan tai a switch> lausunto.
oletusavainsana
The default> avainsanaa käytetään sisällä a switch> lauseke varavaihtoehtona, kun mikään niistä ei ole case> lausekkeet vastaavat arvioitavaa arvoa. Se toimii samalla tavalla kuin else> lausuma an if...else> ketju, joka tarjoaa oletustoiminnon, joka suoritetaan, kun mikään muu tapaus ei täsmää.
Oletustapauksen sijainnilla ei ole väliä:
Sijoituksestaan riippumatta oletustapaus suoritetaan vain, jos mikään muu tapauksen ehto ei täyty. Joten sen sijoittaminen alkuun, keskelle tai loppuun ei muuta ydinlogiikkaa (ellet käytä vähemmän yleistä tekniikkaa, nimeltä fall-through).
tulostamme oletuskirjaimen.
JavaScript let day = 8; let dayName; switch (day) { default: dayName = 'Invalid day'; break; case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; } console.log(dayName); Lähtö
Invalid day
Yleiset koodilohkot
Joissakin tapauksissa meidän on käytettävä samaa koodia useissa vaihtotapauksissa. Katsotaanpa esimerkkiä kuinka se tehdään:
Yleiset koodilohkot Esimerkki:
Tässä samat koodilohkot kahdelle eri kytkintapaukselle.
Javascript let grade = 'A' let result; switch (grade) { case 'A': result = 'Grade is excellent' break; case 'B': result = 'Grade is good' break; case 'C': result = 'Grade is Average ' break; case 'D': result = 'Grade is Poor' break; default: text = 'NO grades achieved'; } console.log(result) Lähtö
Grade is excellent
Selitys:
-
Grade>on annettu arvo'A'>. - The
switch>lausunto arvioi arvongrade>. - Siitä asti kun
grade>Ottelut'A'>, seuraava koodilohkocase 'A':>suoritetaan, asetusresult>to'Grade is excellent'>. - The
break>lausunto lopettaaswitch>lausunto. -
Result>kirjautuu konsoliin, joka tulostaa'Grade is excellent'>.
Huomautus: Jos useat kytkintapaukset vastaavat arvoa, ensimmäinen suoritetaan.