Setiap program perlu bereaksi. Seorang pengguna mengklik tombol. Sebuah API mengembalikan data. Sebuah kolom formulir menjadi kosong. Tanpa cara untuk membuat percabangan, kode Anda akan berjalan baris demi baris tanpa mempedulikan apa yang sebenarnya terjadi. Kondisional memberikan kemampuan kepada JavaScript untuk memilih. Mereka adalah pengambil keputusan di dalam fungsi Anda, penjaga gerbang yang menentukan apa yang dijalankan dan apa yang dilewati. Begitu Anda memahami cara menulisnya dengan baik, Anda akan berhenti menulis skrip yang kaku dan mulai membangun perangkat lunak yang benar-benar responsif.
Mengapa Kondisional Itu Penting
Alur kontrol adalah tulang punggung logika. Anda menggunakan kondisional untuk memvalidasi kata sandi sebelum mengirimkannya ke server. Anda memeriksa apakah keranjang belanja kosong sebelum menghitung pajak. Anda mendeteksi jika permintaan jaringan gagal sehingga Anda dapat menampilkan pesan kesalahan alih-alih layar kosong. Semua skenario ini mengandalkan ide sederhana yang sama: evaluasi sesuatu, lalu bertindaklah sesuai hasilnya.
Tanpa kondisional, aplikasi Anda akan menjadi sebuah monolog alih-alih sebuah percakapan. Aplikasi tersebut tidak akan bisa menangani berbagai skenario data, mengelola kesalahan dengan baik, atau bereaksi terhadap tindakan pengguna dengan cara yang berarti. Kondisional memungkinkan Anda mengontrol bagaimana program Anda berjalan di tengah ketidakpastian dunia nyata.
Pernyataan if Dasar
Tempat termudah untuk memulai adalah if mandiri. Ia mengatakan, jika hal ini benar, lakukan pekerjaan ini. Itu saja. Tidak ada cadangan, tidak ada jalur alternatif.
if (x % 2 === 0) {
console.log("Even");
}
Dalam cuplikan ini, operator modulus memeriksa apakah x habis dibagi dua. Ketika sisanya adalah nol, konsol akan mencetak string tersebut. Jika x ganjil, tidak ada yang terjadi. Blok tersebut diabaikan dan eksekusi berlanjut ke bawah.
Pengabaian yang tenang itu penting. Terkadang Anda hanya ingin melindungi satu tindakan saja. Mungkin Anda ingin menambahkan kelas CSS ke sebuah tombol hanya saat tombol tersebut aktif, atau menambahkan item ke sebuah array hanya saat input tidak kosong. Pernyataan if murni menangani momen-momen tersebut tanpa memaksa Anda menulis logika yang tidak Anda butuhkan.
Menambahkan Alternatif dengan if-else
Keputusan nyata biasanya memiliki dua sisi. Entah pengguna sudah cukup umur, atau belum. Entah pembayaran berhasil, atau gagal. Struktur if-else mencakup keduanya.
if (age >= 18) {
console.log("Adult");
} else {
console.log("Not an Adult");
}
Blok else menangkap semua hal yang ditolak oleh kondisi pertama. Ini menciptakan percabangan biner yang bersih. Pola ini bekerja dengan baik untuk toggle, izin (permissions), dan feature flags. Jaga agar logika di dalam setiap blok tetap terfokus. Jika Anda mendapati diri Anda menumpuk terlalu banyak tugas ke dalam satu cabang, itu biasanya merupakan sinyal untuk membagi pekerjaan tersebut ke dalam fungsi-fungsi yang lebih kecil.
Memeriksa Berbagai Jalur dengan else if
Hidup jarang menawarkan hanya dua pilihan. Anda mungkin perlu mengategorikan angka sebagai positif, negatif, atau nol. Anda mungkin menetapkan tarif pengiriman berdasarkan kategori berat. Untuk perbandingan ganda yang berurutan, gunakan else if.
if (x > 0) {
console.log("Positive");
} else if (x < 0) {
console.log("Negative");
} else {
console.log("Zero");
}
JavaScript mengevaluasi ini dari atas ke bawah. Segera setelah satu kondisi terpenuhi, ia akan menjalankan blok tersebut dan mengabaikan sisanya. Urutan itu penting. Jika Anda memeriksa x > 0 setelah memeriksa x > 100, pemeriksaan yang lebih ketat tidak akan pernah berjalan karena pemeriksaan yang lebih longgar akan menangkapnya terlebih dahulu. Anggaplah else if sebagai daftar prioritas.
Pernyataan switch
Saat Anda membandingkan satu nilai dengan banyak opsi diskrit, rantai panjang pernyataan else if bisa terasa repetitif. Pernyataan switch merapikan hal tersebut. Ia mencocokkan sebuah ekspresi dengan klausa case dan menjalankan blok yang cocok.
switch (true) {
case marks >= 90:
Branch = "Computer science";
break;
case marks >= 80:
Branch = "Mechanical";
break;
default:
Branch = "Other";
}
Contoh ini menggunakan switch(true) untuk mengevaluasi kondisi boolean secara langsung, yang merupakan pola JavaScript umum ketika logika Anda bergantung pada rentang (ranges) alih-alih kesamaan eksak. Kata kunci break sangatlah penting. Tanpanya, eksekusi akan terus berlanjut ke case berikutnya terlepas dari apakah itu cocok atau tidak, yang mana jarang sekali merupakan hal yang Anda inginkan di sini. Klausa default bertindak seperti else terakhir, menangkap apa pun yang tidak sesuai dengan case sebelumnya.
switch sangat berguna ketika Anda memiliki opsi yang jelas dan tetap. Ini sering kali lebih mudah dipindai daripada tumpukan blok else if yang tinggi, terutama ketika setiap cabang hanya menetapkan nilai atau memanggil satu fungsi saja.
Operator Ternary
Untuk keputusan biner yang singkat, operator ternary menjaga segala sesuatunya tetap ringkas. Ia menerima tiga operan: sebuah kondisi, nilai jika benar, dan nilai jika salah.
const result = (age >= 18) ? "Eligible" : "Not eligible";
Anda dapat menggunakannya untuk penugasan cepat atau pengembalian (return) inline. Ini bekerja dengan baik ketika hasilnya adalah ekspresi sederhana. Tahan keinginan untuk menyarangkan (nest) ternary hingga tiga tingkat ke dalam. Ternary yang bersarang mungkin menghemat baris kode, tetapi mengorbankan keterbacaan. Ketika logika Anda berkembang, blok if-else biasanya lebih ramah bagi pengembang berikutnya yang membuka file tersebut.
Keputusan Bersarang
Logika yang kompleks terkadang memerlukan pertanyaan lanjutan. Anda dapat menyematkan if di dalam if lainnya untuk mempertajam keputusan.
if (weather === "sunny") {
if (temp > 30) {
console.log("
