← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 03

Operator

Aritmetika, perbandingan, logika, ternary, nullish, optional chaining.

Pahami konsepnya

Operator aritmetika standar: + - * / % ** — semuanya number. Perbandingan == vs ===: yang pertama melakukan type coercion ("5" == 5 → true), yang kedua membandingkan tipe DAN nilai ("5" === 5 → false). Selalu gunakan === dan !==.

Tiga operator modern: ternary kondisi ? benar : salah; nullish coalescing ?? memberi cadangan hanya saat null/undefined (bukan 0 atau ""); optional chaining ?. mengakses properti dalam-dalam tanpa error bila ada yang null di tengah jalan.

Logika: && (dan — berhenti di falsy pertama), || (atau — berhenti di truthy pertama), ! (not). Keduanya mengembalikan OPERAND, bukan boolean — "halo" || "dunia" menghasilkan "halo". Sifat short-circuit ini dipakai untuk guard clause dan default value.

Coba contoh kode

const umur = 17;
const nama = umur >= 17 ? "dewasa" : "anak";

// nullish vs or
const nol = 0;
console.log(nol || 10);   // 10 — 0 falsy
console.log(nol ?? 10);   // 0 — 0 bukan null/undefined

// optional chaining
const user = { profil: { kota: "Bandung" } };
console.log(user.profil?.kota);    // Bandung
console.log(user.alamat?.kota);    // undefined — tidak error

// strict equality
console.log("5" === 5);  // false
console.log(5 === 5);    // true

Perbedaan || vs ?? penting: || mengganti SEMUA falsy (0, "", false) dengan cadangan; ?? hanya mengganti null dan undefined. Optional chaining ?. mencegah TypeError saat mengakses properti objek yang mungkin null.

Latihan singkat

Uji: cetak 7**2, 7%2, 7/2 — harus `49 1 3.5`.