Switch Statements of ECMAScript

Η πρόταση switch

Η πρόταση switch είναι αδέρφια της πρότασης if.

Ο προγραμματιστής μπορεί να χρησιμοποιήσει την πρόταση switch για να παρέχει μια σειρά από περιπτώσεις (case) για την έκφραση.

Γλώσσα γραμματικής του switch

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

Κάθε περίπτωση (case) αντιπροσωπεύει το "αν" expression ίση value,εκτελείται statement

Το κλειδί break κάνει τον κώδικα να βγει από την πρόταση switch. Αν δεν υπάρχει το κλειδί break, η εκτέλεση του κώδικα θα συνεχιστεί στην επόμενη περίπτωση.

Το κλειδί default αναφέρει την ενέργεια όταν το αποτέλεσμα της έκφρασης δεν είναι ισοδύναμο με καμία από τις περιπτώσεις (στην πραγματικότητα, είναι σχετικό με την πρόταση else).

Η πρόταση switch χρησιμοποιείται κυρίως για να αποφύγει τους κώδικες που θα έγραφε ο προγραμματιστής:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("other");

Η ισοδύναμη πρόταση switch είναι αυτή:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("other");
}

Η πρόταση switch στο ECMAScript και στο Java

Η πρόταση switch στο ECMAScript και στο Java έχει δύο διαφορές. Στο ECMAScript, η πρόταση switch μπορεί να χρησιμοποιηθεί για κείμενα και μπορεί να χρησιμοποιηθεί η τιμή που δεν είναι μοντέλο για να περιγράψει την κατάσταση:

var BLUE = "blue", RED = "red", GREEN = "green";
switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

Εδώ, η πρόταση switch χρησιμοποιείται για τη συνάρτηση sColor, η χρήση της μεταβλητής BLUE, RED και GREEN είναι πλήρως ικανή στο ECMAScript.