
Tutorial JavaScript: 5 Jenis Operator Logika JavaScript yang Harus Kamu Ketahui

Dalam Tutorial JavaScript ini, kita akan menyelami salah satu fondasi terpenting dalam pemrograman: operator logika. Bagi seorang pengembang, kemampuan untuk mengontrol alur eksekusi kode dan membuat keputusan yang logis adalah hal yang mutlak. Operator logika adalah alat utama yang memungkinkan hal tersebut. Tanpa pemahaman yang solid tentang konsep ini, kode yang ditulis bisa menjadi tidak efisien, sulit dibaca, atau bahkan mengandung bug yang tersembunyi.
Artikel ini dirancang untuk memberikan panduan komprehensif tentang lima jenis operator logika JavaScript yang wajib dikuasai. Kita tidak hanya akan membahas sintaks dasarnya, tetapi juga mengupas mekanisme di balik layar, seperti short-circuit evaluation dan perilaku operator terhadap nilai truthy dan falsy. Dengan mempelajari Tutorial JavaScript ini, Anda akan dilengkapi untuk menulis kode yang lebih bersih, kuat, dan logis.
Apa Itu Operator Logika di JavaScript?
Operator logika dalam JavaScript adalah simbol yang digunakan untuk melakukan operasi pada satu atau lebih nilai boolean (true atau false) dan mengembalikan hasil evaluasinya. Namun, keunikan JavaScript terletak pada fleksibilitasnya; operator logika dapat bekerja dengan nilai dari tipe data apapun, bukan hanya boolean. Hasil operasinya pun bisa berupa nilai asli dari operandnya, bukan hanya true atau false.
Konsep kunci di sini adalah "truthy" dan "falsy". Nilai "falsy" dalam JavaScript adalah nilai-nilai yang dianggap false ketika dikonversi ke boolean, yaitu:
false0""atau''(string kosong)nullundefinedNaN
Sebaliknya, nilai "truthy" adalah semua nilai lain yang tidak termasuk dalam daftar falsy, seperti objek, array, angka selain nol, dan string tidak kosong. Pemahaman ini sangat krusial karena operator logika JavaScript sebenarnya bekerja dengan mendeteksi nilai-nilai truthy dan falsy ini .
Baca Juga: 4 Fungsi JavaScript dalam Pemrograman. Yuk, Bahas!
Jenis-Jenis Operator Logika di JavaScript
Operator AND (&&)
Operator AND (&&) digunakan ketika Anda ingin memastikan bahwa semua kondisi terpenuhi. Dalam logika boolean klasik, && hanya mengembalikan true jika kedua operand-nya true.
Tabel Kebenaran AND (Boolean):

Namun, dalam JavaScript, && lebih canggih. Ia akan:
- Mengevaluasi operand dari kiri ke kanan.
- Mengembalikan operand pertama jika operand tersebut dapat dikonversi ke false (falsy).
- Jika semua operand truthy, ia akan mengembalikan operand terakhir .
Contoh Penerapan:
// Contoh 1: Dasar let isLoggedIn = true; let isAdmin = false; console.log(isLoggedIn && isAdmin); // Output: false // Contoh 2: Short-circuit evaluation let user = null; let username = user && user.username; // Berhenti evaluasi di 'user' console.log(username); // Output: null (aman, tidak error) // Contoh 3: Mengembalikan nilai terakhir let age = 25; let isValid = age > 18 && "User is valid"; console.log(isValid); // Output: "User is valid"
Salah satu kekuatan terbesar operator && adalah short-circuit evaluation. Jika operand pertama bernilai falsy, JavaScript tidak akan pernah mengevaluasi operand kedua karena hasil akhirnya sudah pasti falsy .
Operator OR (||)
Operator OR (||) adalah pilihan yang tepat ketika Anda hanya membutuhkan salah satu kondisi untuk terpenuhi. Dalam logika boolean, || mengembalikan true jika setidaknya satu operand-nya true.
Tabel Kebenaran OR (Boolean):

Seperti &&, operator || juga memiliki perilaku khusus di JavaScript. Ia akan:
- Mengevaluasi operand dari kiri ke kanan.
- Mengembalikan operand pertama jika operand tersebut dapat dikonversi ke true (truthy).
- Jika tidak ada operand yang truthy, ia akan mengembalikan operand terakhir .
Contoh Penerapan:
// Contoh 1: Dasar let hasCreditCard = false; let hasPayPal = true; let canMakePayment = hasCreditCard || hasPayPal; console.log(canMakePayment); // Output: true // Contoh 2: Menetapkan nilai default let userConfig = null; let defaultConfig = { theme: 'light' }; let finalConfig = userConfig || defaultConfig; console.log(finalConfig); // Output: { theme: 'light' } // Contoh 3: Short-circuit evaluation let isVerified = true; let result = isVerified || verifyUser(); // verifyUser() tidak akan dipanggil console.log(result); // Output: true
Pola "nilai default" menggunakan || sangat umum dipraktikkan, meskipun kini telah ada operator yang lebih spesifik, yaitu Nullish Coalescing .
Operator NOT (!)
Operator NOT (!) adalah operator unary yang hanya bekerja pada satu operand. Fungsinya adalah untuk membalikkan nilai kebenaran dari suatu operand. Jika operand-nya truthy, ! akan mengembalikan false, dan sebaliknya.
Contoh Penerapan:
// Contoh 1: Membalik nilai boolean let isOnline = true; console.log(!isOnline); // Output: false console.log(!!isOnline); // Output: true (double NOT) // Contoh 2: Mengecek nilai falsy let input = ""; if (!input) { console.log("Input field cannot be empty"); // Output: ini akan tercetak } // Contoh 3: Konversi ke boolean dengan Double NOT (!!) let value = "Hello"; let booleanValue = !!value; console.log(booleanValue); // Output: true
Operator Double NOT (!!) adalah trik yang sering digunakan untuk secara eksplisit mengubah nilai apapun menjadi tipe data boolean yang sesuai. Cara kerjanya adalah NOT pertama mengubah nilai menjadi kebalikan boolean-nya, lalu NOT kedua mengembalikannya lagi sehingga menghasilkan representasi boolean yang sebenarnya .
Operator Nullish Coalescing (??)
Operator Nullish Coalescing (??) merupakan tambahan yang relatif baru dalam JavaScript. Ia dirancang untuk menangani kekurangan pola || dalam menetapkan nilai default. Operator || menganggap semua nilai falsy (seperti 0 atau '') sebagai nilai yang tidak diinginkan, padahal dalam banyak kasus, 0 atau string kosong adalah nilai yang valid.
Operator ?? mengembalikan operand sebelah kanan hanya jika operand sebelah kirinya adalah null atau undefined (nullish), bukan semua nilai falsy .
Contoh Penerapan:
// Contoh 1: Perbandingan dengan OR (||) let count = 0; let text = ""; let result1 = count || 42; // 0 adalah falsy, jadi hasilnya 42 let result2 = count ?? 42; // 0 bukan nullish, jadi hasilnya 0 let result3 = text || "Hello"; // "" adalah falsy, jadi hasilnya "Hello" let result4 = text ?? "Hello"; // "" bukan nullish, jadi hasilnya "" console.log(result1, result2); // Output: 42 0 console.log(result3, result4); // Output: Hello // Contoh 2: Berguna untuk konfigurasi object let settings = { timeout: 0, title: null }; let timeout = settings.timeout ?? 3000; // 0 let title = settings.title ?? "Default Title"; // "Default Title"
Operator Ternary (? :)
Meskipun secara teknis bukan operator logika murni seperti && dan ||, operator ternary adalah alat yang sangat penting untuk pengambilan keputusan satu baris. Ia sering dikelompokkan dengan operator logika karena fungsinya yang mirip dengan pernyataan if-else.
Sintaksnya adalah: kondisi ? ekspresiJikaTrue : ekspresiJikaFalse
Contoh Penerapan:
// Contoh 1: Penentuan nilai sederhana let score = 85; let grade = score >= 80 ? "Lulus" : "Tidak Lulus"; console.log(grade); // Output: "Lulus" // Contoh 2: Conditional rendering (contoh di React/JSX) function WelcomeMessage({ user }) { return ( <div> <h1>Selamat Datang, {user ? user.name : "Tamu"}!</h1> {user ? <button>Logout</button> : <button>Login</button>} </div> ); } // Contoh 3: Menghindari side effect dalam percabangan let isLoaded = false; isLoaded ? renderData() : showLoadingSpinner();
Kelebihan ternary adalah kesingkatannya, namun perlu digunakan dengan bijak untuk kondisi yang kompleks agar tidak mengorbankan keterbacaan kode.
Baca Juga: 7 Baris JavaScript Keren yang Bikin Kamu Tampak Seperti Master Kode
Precedence (Urutan Evaluasi) Operator Logika
Ketika beberapa operator logika digunakan dalam satu ekspresi, JavaScript akan mengevaluasinya berdasarkan urutan precedence (prioritas) yang telah ditetapkan .
- Logical NOT (
!) - Prioritas Tertinggi - Logical AND (
&&) - Logical OR (
||) - Prioritas Terendah
Contoh:
let result = true || false && false; // Sama dengan: true || (false && false) // false && false dievaluasi dulu, hasilnya false. // Lalu: true || false, hasilnya true. console.log(result); // Output: true // Gunakan parentheses () untuk mengontrol urutan evaluasi. let result2 = (true || false) && false; // true || false dievaluasi dulu, hasilnya true. // Lalu: true && false, hasilnya false. console.log(result2); // Output: false
Penerapan Praktis dalam Pengembangan Web
Validasi Form yang Kompleks
Operator logika memungkinkan kita untuk menggabungkan beberapa aturan validasi.
function validateForm(email, password, agreeToTerms) { // Email harus valid, password minimal 8 karakter, dan harus menyetujui syarat. let isEmailValid = email.includes('@') && email.length > 5; let isPasswordValid = password.length >= 8; let isFormValid = isEmailValid && isPasswordValid && agreeToTerms; if (isFormValid) { console.log("Form dapat disubmit."); } else { console.log("Harap periksa kembali form Anda."); } } validateForm("user@example.com", "secret123", true); // Valid validateForm("user", "short", true); // Tidak Valid
Menetapkan Nilai Default dan Fallback
Menggabungkan ?? dan || dapat membuat strategi fallback yang kuat.
function getUserPreference(theme, fontSize) { // Gunakan nilai dari parameter, jika null/undefined, ambil dari localStorage, jika masih null/undefined, pakai nilai default. let finalTheme = theme ?? localStorage.getItem('theme') ?? 'light-mode'; let finalFontSize = fontSize ?? localStorage.getItem('fontSize') ?? '16px'; return { finalTheme, finalFontSize }; }
Conditional Rendering di Framework JavaScript
Di framework seperti React, operator logika dan ternary sangat lazim digunakan.
// Komponen React Sederhana function UserDashboard({ user, notifications }) { return ( <div> {/* Menyapa user jika ada, jika tidak, minta login */} <h1>{user ? `Halo, ${user.name}!` : 'Silakan login.'}</h1> {/* Menampilkan notifikasi hanya jika ada */} {notifications && notifications.length > 0 && ( <div className="notification-badge"> Anda memiliki {notifications.length} notifikasi baru. </div> )} {/* Tampilkan tombol yang berbeda berdasarkan role user */} {user && user.role === 'admin' ? ( <button>Kelola Admin</button> ) : ( <button>Lihat Profil</button> )} </div> ); }
Kesimpulan
Dalam Tutorial JavaScript yang komprehensif ini, kita telah menjelajahi kelima operator logika JavaScript yang fundamental: AND (&&), OR (||), NOT (!), Nullish Coalescing (??), dan operator Ternary. Pemahaman yang mendalam tentang cara kerja mereka, termasuk konsep short-circuit evaluation serta perbedaan antara truthy dan falsy, merupakan bekal yang sangat berharga. Dengan menguasai materi dalam Tutorial JavaScript ini, Anda kini siap untuk menulis kode yang tidak hanya berfungsi dengan benar tetapi juga lebih efisien, mudah dibaca, dan tangguh dalam menangani berbagai skenario. Teruslah berlatih dan terapkan konsep-konsep ini dalam proyek nyata Anda. Ingatlah bahwa setiap Tutorial JavaScript yang Anda pelajari adalah satu langkah maju menuju level keahlian yang lebih tinggi.
Pelajari lebih dari sekadar operator logika dalam KelasFullstack Web Developer di Codepolitan. Kelas online ini dirancang untuk membawa Anda dari nol hingga mampu membangun website dan aplikasi web yang lengkap dari ujung ke ujung (front-end hingga back-end). Dapatkan keterampilan yang dibutuhkan industri, raih karir dengan gaji tinggi, atau bahkan kembangkan bisnis online Anda sendiri.
Daftar sekarang dan wujudkan impianmu menjadi Fullstack Developer yang andal!
Referensi:
What do you think?
Reactions





