Operator adalah simbol yang digunakan untuk melakukan operasi pada nilai atau variabel. JavaScript memiliki banyak jenis operator yang akan sering kamu gunakan.
Digunakan untuk operasi matematika:
let a = 10;
let b = 3;
console.log(a + b); // 13 — penjumlahan
console.log(a - b); // 7 — pengurangan
console.log(a * b); // 30 — perkalian
console.log(a / b); // 3.333... — pembagian
console.log(a % b); // 1 — modulo (sisa bagi)
console.log(a ** b); // 1000 — pangkat (10³)
Modulo sangat berguna untuk:
// Cek bilangan genap/ganjil
let angka = 7;
if (angka % 2 === 0) {
console.log('Genap');
} else {
console.log('Ganjil'); // ini yang muncul
}
// Siklus (misal: urutan hari dalam minggu)
let hariKe = 9;
let posisiHari = hariKe % 7; // 2
Menggabungkan assignment dengan operasi aritmatika:
let x = 10;
x += 5; // sama dengan: x = x + 5 → x = 15
x -= 3; // sama dengan: x = x - 3 → x = 12
x *= 2; // sama dengan: x = x * 2 → x = 24
x /= 4; // sama dengan: x = x / 4 → x = 6
x %= 4; // sama dengan: x = x % 4 → x = 2
x **= 3; // sama dengan: x = x ** 3 → x = 8
let i = 5;
// Post-increment: baca nilai dulu, lalu tambahkan 1
console.log(i++); // 5 — nilai lama dikembalikan
console.log(i); // 6 — setelah operasi, i sudah jadi 6
// Pre-increment: tambahkan 1 dulu, lalu baca nilainya
let j = 5;
console.log(++j); // 6 — nilai baru langsung dikembalikan
console.log(j); // 6
// Decrement bekerja sama, hanya mengurangi
i--; // post-decrement
--i; // pre-decrement
Mengembalikan nilai boolean (true atau false):
console.log(5 > 3); // true — lebih besar dari
console.log(5 < 3); // false — lebih kecil dari
console.log(5 >= 5); // true — lebih besar atau sama dengan
console.log(5 <= 4); // false — lebih kecil atau sama dengan
// == vs === (PENTING!)
console.log(5 == '5'); // true — loose equality (konversi tipe terjadi)
console.log(5 === '5'); // false — strict equality (tipe juga dicek)
console.log(5 !== '5'); // true — strict not equal
console.log(5 != '5'); // false — loose not equal
// Selalu gunakan === dan !== untuk menghindari bug tersembunyi!
Perbandingan String:
console.log('apel' < 'jeruk'); // true — berdasarkan urutan alfabet
console.log('B' < 'a'); // true — huruf besar kode ASCII-nya lebih kecil
console.log('10' > '9'); // false — '1' < '9' dalam perbandingan string!
console.log(10 > 9); // true — bandingkan sebagai number
let depan = 'Halo';
let nama = 'Budi';
// Cara lama
let salam = depan + ', ' + nama + '!';
console.log(salam); // "Halo, Budi!"
// Lebih disarankan: template literal
let salamModern = `${depan}, ${nama}!`;
console.log(salamModern); // "Halo, Budi!"
JavaScript menyediakan objek Math untuk operasi matematika lanjutan:
Math.round(4.6); // 5 — pembulatan normal
Math.floor(4.9); // 4 — bulatkan ke bawah
Math.ceil(4.1); // 5 — bulatkan ke atas
Math.abs(-7); // 7 — nilai absolut
Math.max(1, 5, 3); // 5 — nilai terbesar
Math.min(1, 5, 3); // 1 — nilai terkecil
Math.pow(2, 8); // 256 — 2 pangkat 8
Math.sqrt(16); // 4 — akar kuadrat
Math.random(); // angka acak antara 0 dan 1
// Angka acak dalam rentang tertentu
function acakAntara(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(acakAntara(1, 10)); // angka acak 1-10
💡 Tips: Selalu gunakan
===dan!==untuk perbandingan — bukan==dan!=. Operator strict equality tidak melakukan konversi tipe, sehingga hasilnya lebih dapat diprediksi. Mayoritas bug JavaScript yang berkaitan dengan perbandingan berasal dari penggunaan==yang tidak disengaja. 🎯
Kursus
JavaScript Dasar
Kategori
Tipe Data & Operator
Durasi Pelajaran
20 menit