dasaroperatorlogikaPemula3 mnt baca

Operator Perbandingan dan Logika

Membandingkan nilai dengan benar (=== vs ==) dan menggabungkan kondisi dengan &&, ||, !.

Membandingkan nilai

Operator perbandingan menghasilkan boolean (true/false). Ini bahan utama percabangan dan perulangan.

javascript
let umur = 17;
console.log(umur > 16);   // true
console.log(umur < 16);   // false
console.log(umur >= 17);  // true
console.log(umur <= 16);  // false

=== vs == : perbedaan krusial

JavaScript punya dua operator kesetaraan. Tiga sama dengan (===) membandingkan nilai DAN tipe data. Dua sama dengan (==) melakukan konversi tipe otomatis sebelum membandingkan, dan ini sumber bug.

javascript
console.log("5" == 5);   // true, string dikonversi ke number
console.log("5" === 5);  // false, tipe beda
console.log(0 == false); // true, membingungkan!
console.log(0 === false); // false, jelas

Aturannya sederhana: selalu pakai === dan !==. Lupakan == kecuali kamu punya alasan sangat spesifik.

Operator logika

javascript
let umur = 20;
let punyaKTP = true;

// DAN (&&): semua harus true
console.log(umur >= 17 && punyaKTP); // true

// ATAU (||): salah satu true sudah cukup
console.log(umur >= 17 || punyaKTP); // true

// TIDAK (!): membalik nilai
console.log(!punyaKTP); // false

Operator logika juga dipakai untuk nilai default: let nama = input || "Anonim" akan memakai "Anonim" jika input kosong.

Catatan teknis: && dan || memakai short-circuit. Pada a && b, jika a falsy maka b tidak dievaluasi. Ini dimanfaatkan untuk pola seperti user && user.nama, tapi di kode modern lebih baik pakai optional chaining: user?.nama.

Merangkai kondisi kompleks

Di aplikasi nyata, kondisi jarang tunggal. Contoh aturan promo toko:

javascript
let umur = 20;
let member = true;
let totalBelanja = 250000;

// dapat promo jika: dewasa DAN (member ATAU belanja besar)
let dapatPromo = umur >= 17 && (member || totalBelanja >= 200000);
console.log(dapatPromo); // true

Tanda kurung di sini penting untuk mengelompokkan logika. Tanpa kurung, && didahulukan sebelum || mengikuti aturan precedence, dan hasilnya bisa beda dari niatmu.

Tips membaca kondisi kompleks: bacakan dengan kata-kata. "Umur minimal 17 dan (member atau belanja minimal 200 ribu)". Kalau susah dibacakan, pecah jadi variabel bernama seperti dapatPromo di atas. Variabel bernama adalah dokumentasi gratis.

Kesimpulan

Tiga hal yang wajib diingat: pakai ===, pahami &&/||/!, dan waspadai nilai falsy. Operator ini adalah otot logika di balik setiap keputusan yang diambil programmu.