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`.