Setiap program perlu bertindak balas. Seorang pengguna mengklik butang. Satu API mengembalikan data. Satu medan borang menjadi kosong. Tanpa cara untuk membuat cabang, kod anda akan berjalan baris demi baris tanpa mengira apa yang sebenarnya sedang berlaku. Pernyataan bersyarat memberikan JavaScript keupayaan untuk memilih. Ia adalah pembuat keputusan di dalam fungsi anda, penjaga yang menentukan apa yang akan dijalankan dan apa yang akan dilangkau. Sebaik sahaja anda memahami cara menulisnya dengan baik, anda akan berhenti menulis skrip yang kaku dan mula membina perisian yang benar-benar responsif.

Mengapa Pernyataan Bersyarat Penting

Aliran kawalan adalah tulang belakang logik. Anda menggunakan pernyataan bersyarat untuk mengesahkan kata laluan sebelum menghantarnya ke pelayan. Anda menyemak sama ada bakul belanja kosong sebelum mengira cukai. Anda mengesan jika permintaan rangkaian gagal supaya anda boleh memaparkan ralat dan bukannya skrin kosong. Semua senario ini bergantung pada idea ringkas yang sama: nilai sesuatu, kemudian bertindak sewajarnya.

Tanpa pernyataan bersyarat, aplikasi anda akan menjadi monolog dan bukannya perbualan. Ia tidak dapat mengendalikan senario data yang berbeza, mengurus ralat dengan baik, atau bertindak balas terhadap tindakan pengguna dengan cara yang bermakna. Ia membolehkan anda mengawal bagaimana program anda berjalan di bawah ketidakpastian dunia nyata.

Pernyataan if Asas

Tempat paling mudah untuk bermula ialah if yang berdiri sendiri. Ia menyatakan, jika perkara ini benar, lakukan kerja ini. Itu sahaja. Tiada sandaran, tiada laluan alternatif.

if (x % 2 === 0) {
    console.log("Even");
}

Dalam petikan kod ini, operator modulus menyemak sama ada x boleh dibahagi tepat dengan dua. Apabila bakinya adalah sifar, konsol akan mencatatkan rentetan tersebut. Jika x adalah ganjil, tiada apa yang berlaku. Blok tersebut diabaikan dan pelaksanaan diteruskan ke bawah.

Pengabaian senyap itu adalah penting. Kadangkala anda hanya mahu melindungi satu tindakan sahaja. Mungkin anda mahu menambah kelas CSS kepada butang hanya apabila ia aktif, atau menambah item ke dalam array hanya apabila input tidak kosong. Pernyataan if kosong mengendalikan saat-saat tersebut tanpa memaksa anda menulis logik yang tidak diperlukan.

Menambah Alternatif dengan if-else

Keputusan sebenar biasanya mempunyai dua sisi. Sama ada pengguna cukup umur, atau tidak. Sama ada pembayaran berjaya, atau gagal. Struktur if-else merangkumi kedua-duanya.

if (age >= 18) {
    console.log("Adult");
} else {
    console.log("Not an Adult");
}

Blok else menangkap semua yang ditolak oleh syarat pertama. Ia mewujudkan cabang binari yang bersih. Corak ini berfungsi dengan baik untuk suis (toggles), kebenaran (permissions), dan bendera ciri (feature flags). Pastikan logik di dalam setiap blok tetap fokus. Jika anda mendapati diri anda menimbun terlalu banyak tugas ke dalam satu cabang, itu biasanya petanda untuk membahagikan kerja tersebut kepada fungsi yang lebih kecil.

Menyemak Pelbagai Laluan dengan else if

Kehidupan jarang menawarkan hanya dua pilihan. Anda mungkin perlu mengkategorikan nombor sebagai positif, negatif, atau sifar. Anda mungkin menetapkan kadar penghantaran berdasarkan julat berat. Untuk perbandingan berbilang yang tersusun, gunakan else if.

if (x > 0) {
    console.log("Positive");
} else if (x < 0) {
    console.log("Negative");
} else {
    console.log("Zero");
}

JavaScript menilai ini dari atas ke bawah. Sebaik sahaja satu syarat dipenuhi, ia akan menjalankan blok tersebut dan mengabaikan selebihnya. Urutan adalah penting. Jika anda menyemak x > 0 selepas menyemak x > 100, semakan yang lebih ketat tidak akan pernah dijalankan kerana semakan yang lebih longgar akan menangkapnya terlebih dahulu. Anggaplah else if sebagai senarai keutamaan.

Pernyataan switch

Apabila anda membandingkan satu nilai dengan banyak pilihan diskret, rantaian panjang pernyataan else if boleh terasa berulang-ulang. Pernyataan switch memudahkan perkara tersebut. Ia memadankan satu ungkapan dengan klausa case dan menjalankan blok yang sepadan.

switch (true) {
    case marks >= 90:
        Branch = "Computer science";
        break;
    case marks >= 80:
        Branch = "Mechanical";
        break;
    default:
        Branch = "Other";
}

Contoh ini menggunakan switch(true) untuk menilai syarat boolean secara langsung, yang merupakan corak JavaScript biasa apabila logik anda bergantung pada julat dan bukannya kesamaan tepat. Kata kunci break adalah sangat penting. Tanpanya, pelaksanaan akan terus jatuh ke case seterusnya tanpa mengira sama ada ia sepadan atau tidak, yang mana jarang sekali menjadi apa yang anda mahukan di sini. Klausa default bertindak seperti else terakhir, menangkap apa sahaja yang tidak sesuai dengan case sebelumnya.

switch sangat berguna apabila anda mempunyai pilihan yang jelas dan tetap. Ia selalunya lebih mudah untuk disemak berbanding timbunan blok else if yang panjang, terutamanya apabila setiap cabang hanya menetapkan nilai atau memanggil satu fungsi sahaja.

Operator Ternari

Untuk keputusan binari yang pendek, operator ternari mengekalkan keadaan yang ringkas. Ia mengambil tiga operan: satu syarat, satu nilai jika benar, dan satu nilai jika salah.

const result = (age >= 18) ? "Eligible" : "Not eligible";

Anda boleh menggunakannya untuk penetapan pantas atau pemulangan dalam talian (inline returns). Ia berfungsi dengan baik apabila hasilnya adalah ungkapan yang ringkas. Elakkan keinginan untuk menyusun ternari secara bersarang (nested) sehingga tiga tahap dalam. Ternari bersarang mungkin menjimatkan baris kod, tetapi ia menjejaskan kebolehbacaan. Apabila logik anda berkembang, blok if-else biasanya lebih mesra kepada pembangun seterusnya yang membuka fail tersebut.

Keputusan Bersarang

Logik yang kompleks kadangkala memerlukan soalan susulan diajukan. Anda boleh menyarangkan if di dalam if yang lain untuk memperhalusi keputusan.

if (weather === "sunny") {
    if (temp > 30) {
        console.log("