Okey, If sudah ditulis, maka sekarang si sepupunya bakal saya tulis juga.

Switch

Seperti namanya, switch pengkondisian dengan mencocokan nilai ekspresi yang sesuai dengan kondisi yang telah ditentukan. Misal, saya mau bikin program yang menampilkan nama-nama member girl group K-pop ketika parameter fungsinya saya diisi dengan nama girl groupnya dalam bentuk string.

function member(name){
  switch (name) {
    case "SNSD":
      console.log(["Taeyon", "Yoona", "Tiffany", "Suherman"]);
      break;
    case "2NE1":
      console.log(["CL", "Bom", "Dara", "Minzy"]);
      break;
    case "f(x)":
      console.log(["Amber", "Krystal", "Arrow", "Expression"]);
      break;
    case "Twice":
      console.log(["Arian13", "Nayeon", "Sulis", "Marshanda"]);
      break;
    default:
      console.log("Maaf cuk! Kita ndak tau itu girl group mana?")
  }
}

Saya bungkus di dalem fungsi biar bisa dipake berkali-kali. Misal, saya mau tau siapa aja member tergabung dalam girl group Twice.

member("Twice");

// ["Arian13", "Nayeon", "Sulis", "Marshanda"]

Tapi kalau misalkan nama girl group yang saya tulis ga ada di dalem switchnya, maka isi dari si default yang bakal dikasih.

member("Metallica");

// Maaf cuk! Kita ndak tau itu girl group mana?

Gitu bro. Gampang kan?

break

Fungsi dari break dalam switch adalah untuk ngerem apabila sudah nemu kondisi yang true dari case yang ada. Mari saya buktiin. Saya bakal ngilangin break untuk case SNSD, terus kita pakai fungsinya buat dapetin member SNSD.

function member(name){
  switch (name) {
    case "SNSD":
      console.log(["Taeyon", "Yoona", "Tiffany", "Suherman"]);
      // break-nya saya hapus
    case "2NE1":
      console.log(["CL", "Bom", "Dara", "Minzy"]);
      break;
    case "f(x)":
      console.log(["Amber", "Krystal", "Arrow", "Expression"]);
      break;
    case "Twice":
      console.log(["Arian13", "Nayeon", "Sulis", "Marshanda"]);
      break;
    default:
      console.log("Maaf cuk! Kita ndak tau itu girl group mana?")
  }
}

member("SNSD");

// hasilnya:
// ["Taeyon", "Yoona", "Tiffany", "Suherman"]
// ["CL", "Bom", "Dara", "Minzy"]

Karena pada case "SNSD" gak ada break-nya jadi switch-nya terus jalan dan mencetak case yang seharusnya untuk "2NE1". Intinya, break itu untuk mengehtikan segera si switch ketika kondisinya telah true.

break ini gak hanya bisa dipake di switch, bisa juga dipake di loop.

let i = 0;

while (i < 100000){
  if (i === 10) {
    break;
  }
  i = i + 1;
}

// hasilnya 10