Opsionalitas break dalam Konstruksi switch-case di JavaScript

Perintah break dalam konstruksi switch-case tidak bersifat wajib. Jika tidak ada break setelah eksekusi case yang dimaksud, maka semua case di bawahnya juga akan dieksekusi.

Mari kita lihat contohnya:

javascriptlet num = 1; // misalkan angka di sini adalah 1

switch (num) {
  case 1:
    console.log(1); // ini akan berjalan
  case 2:
    console.log(2); // ini juga akan berjalan
  case 3:
    console.log(3); // ini juga akan berjalan
}

Ubah nilai variabel:

javascriptlet num = 2; // misalkan angka di sini adalah 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // ini akan berjalan
  case 3:
    console.log(3); // ini juga akan berjalan
}

Ubah nilai variabel:

javascriptlet num = 3; // misalkan angka di sini adalah 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // ini akan berjalan
}

Terkadang fitur seperti ini digunakan, dalam menyelesaikan masalah. Lihat contoh:

javascriptlet num = 1;
let res;

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

console.log(res);

Namun, lebih jelas untuk menyelesaikan masalah seperti ini dengan if:

javascriptlet num = 1;
let res;

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

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

console.log(res);