Η Προαιρετικότητα του break στην Κατασκευή switch-case στην JavaScript

Η εντολή break στην κατασκευή switch-case δεν είναι υποχρεωτική. Ελλείψει break μετά την εκτέλεση του επιθυμητού case, θα εκτελεστούν και όλα τα case κάτω από αυτό.

Ας δούμε ένα παράδειγμα:

javascriptlet num = 1; // ας είναι εδώ ο αριθμός 1

switch (num) {
  case 1:
    console.log(1); // αυτό θα ενεργοποιηθεί
  case 2:
    console.log(2); // και αυτό θα ενεργοποιηθεί
  case 3:
    console.log(3); // και αυτό θα ενεργοποιηθεί
}

Ας αλλάξουμε την τιμή της μεταβλητής:

javascriptlet num = 2; // ας είναι εδώ ο αριθμός 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // αυτό θα ενεργοποιηθεί
  case 3:
    console.log(3); // και αυτό θα ενεργοποιηθεί
}

Ας αλλάξουμε την τιμή της μεταβλητής:

javascriptlet num = 3; // ας είναι εδώ ο αριθμός 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // αυτό θα ενεργοποιηθεί
}

Μερικές φορές αυτό το χαρακτηριστικό χρησιμοποιείται στην επίλυση προβλημάτων. Δείτε το παράδειγμα:

javascriptlet num = 1;
let res;

switch (num) {
  case 1:
  case 2:
    res = 'a';
  break;
  case 3:
    res = 'b';
  break;
}

console.log(res);

Ωστόσο, είναι πιο προφανές να λυθεί ένα τέτοιο πρόβλημα με το if:

javascriptlet num = 1;
let res;

if (num == 1 || num == 2) {
  res = 'a';
}

if (num == 3) {
  res = 'b';
}

console.log(res);