← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 04

Seleksi kondisi

if/else, switch, ternary, truthy/falsy.

Pahami konsepnya

if/else JavaScript sama seperti bahasa lain, dengan satu keunikan: kondisi TIDAK harus boolean. JavaScript mengubah (coerce) nilai apa pun menjadi truthy atau falsy. Nilai falsy: false, 0, -0, 0n, "" (string kosong), null, undefined, dan NaN. SEMUA nilai lain truthy — termasuk "0", "false", [], {} (array dan object kosong tetap truthy!).

switch cocok untuk satu nilai banyak cabang. JavaScript switch memakai strict equality (===) tanpa coercion — switch berperilaku seperti yang diharapkan. Tanpa break, eksekusi jatuh (fallthrough) ke case berikutnya.

Ternary untuk assignment kondisional satu baris: const status = nilai >= 70 ? "lulus" : "remedial". Bisa bersarang tapi lebih dari dua tingkat sebaiknya if/else biasa.

Coba contoh kode

const nilai = 82;

if (nilai >= 90) console.log("A");
else if (nilai >= 80) console.log("B");
else console.log("C");

// truthy/falsy
console.log(Boolean([]));    // true — array kosong truthy!
console.log(Boolean("0"));   // true
console.log(Boolean(0));     // false

// switch
const hari = 3;
switch (hari) {
  case 1: console.log("Senin"); break;
  case 2: console.log("Selasa"); break;
  case 3: console.log("Rabu"); break;
  default: console.log("?");
}

Array kosong [] dan object kosong {} adalah TRUTHY — sering mengejutkan pemula dari bahasa lain. "0" string juga truthy karena tidak kosong. Hanya enam nilai falsy yang sudah disebut.

Latihan singkat

Uji: nilai 82 → `B`; ganti ke 60 → `C`.