September 17, 2026

Cara Menulis Pernyataan Kondisional di JavaScript.

Panduan if, else if, else, ternary operator, serta operator logika modern seperti nullish coalescing di JavaScript.

Pernyataan kondisional memungkinkan program mengambil keputusan: menjalankan blok kode tertentu hanya jika suatu syarat terpenuhi.

if, else if, else

const nilai = 75;

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

Truthy dan Falsy

Setiap nilai di JavaScript otomatis dianggap true atau false saat dievaluasi sebagai kondisi. Nilai yang dianggap falsy adalah 0, "", null, undefined, NaN, dan false. Selain itu semua dianggap truthy.

const nama = "";

if (nama) {
  console.log("Ada nama");
} else {
  console.log("Nama kosong"); // ini yang tercetak
}

Ternary Operator

Untuk kondisi sederhana dengan dua kemungkinan hasil, ternary operator (? :) lebih ringkas dibanding if...else.

const umur = 20;
const status = umur >= 18 ? "Dewasa" : "Anak-anak";

Logical AND (&&) dan OR (||)

const isLogin = true;
const punyaAkses = true;

if (isLogin && punyaAkses) {
  console.log("Boleh masuk");
}

const tema = null;
const temaAktif = tema || "terang"; // fallback ke "terang" jika tema falsy

Nullish Coalescing (??)

Operator ?? (ES2020) mirip ||, tapi hanya menganggap null dan undefined sebagai kosong — bukan 0 atau string kosong yang sebenarnya valid.

const stok = 0;

const tampilStokLama = stok || "Tidak diketahui"; // "Tidak diketahui", keliru!
const tampilStokBaru = stok ?? "Tidak diketahui";  // 0, sesuai harapan

Perbedaan ini penting saat nilai 0 atau string kosong adalah nilai yang sah, bukan berarti “tidak ada data”.

Optional Chaining Dikombinasikan dengan Nullish Coalescing

const pengguna = { profil: { kota: null } };

const kota = pengguna.profil?.kota ?? "Kota tidak diisi";
console.log(kota); // "Kota tidak diisi"

Kesimpulan

if...else cocok untuk logika bercabang yang kompleks, ternary cocok untuk kondisi ringkas, sedangkan ?? menjadi penyempurna dari operator || yang lama untuk menangani nilai 0 atau string kosong secara lebih akurat. Ketiganya sering dipakai bersamaan dalam kode JavaScript modern sehari-hari.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.

Comments