JavaScript-vaihtolausunto

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

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 arvoja expression> .
  • break> lausunto lopettaa switch> lausunto. Ilman sitä täytäntöönpano jatkuu seuraavaan tapaukseen.
  • Default> määrittää koodin, joka suoritetaan, jos mikään tapauksista ei vastaa expression> .

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ää kohtaan default> tapaus (jos olemassa) tai jatkuu seuraavalla lauseella lauseen jälkeen switch> lohko.
  • Taukolausunto : Koodilohkon suorittamisen jälkeen break> lausunto lopettaa switch> lauseke, joka estää täytäntöönpanoa siirtymästä myöhempään tapaukseen. Jos break> jätetään pois, suoritus jatkuu seuraavaan tapaukseen (tunnetaan nimellä fall-through).
  • Oletustapaus : default> tapaus on valinnainen. Jos vastaavuutta ei löydy, koodilohko alla default> 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 asetettu 3> .
  • The switch> lausunto arvioi day> .
  • Siitä asti kun day> On 3> , case 3> lohko suoritetaan, määritetään 'Wednesday'> to dayName> .
  • The break> lausunto päättyy switch> 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 arvon grade> .
  • Siitä asti kun grade> On 'B'> , seuraava koodilohko case 'B':> teloitetaan.
  • The result> muuttujalle on määritetty merkkijono 'B (Average)'> .
  • The break> lausunto lopettaa switch> 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 arvon grade> .
  • Siitä asti kun grade> Ottelut 'A'> , seuraava koodilohko case 'A':> suoritetaan, asetus result> to 'Grade is excellent'> .
  • The break> lausunto lopettaa switch> lausunto.
  • Result> kirjautuu konsoliin, joka tulostaa 'Grade is excellent'> .

Huomautus: Jos useat kytkintapaukset vastaavat arvoa, ensimmäinen suoritetaan.