Pernyataan Bersyarat di JavaSkrip: jika, jika tidak, dan jika tidak jika

⚡ Ringkasan Cerdas

Pernyataan bersyarat dalam JavaSkrip menentukan blok kode mana yang akan dijalankan dengan menguji suatu kondisi, dan bentuk if, if…else, dan if…else if…else mencakup hampir semua keputusan percabangan yang dibutuhkan oleh skrip pemula.

  • 🔘 sintaks: Pernyataan if hanya akan menjalankan blok kodenya ketika kondisi di dalam tanda kurung bernilai benar.
  • ☑️ Dua cabang: Bentuk if…else menyediakan blok cadangan yang akan dijalankan setiap kali kondisinya salah.
  • ✅ Banyak cabang: Penggunaan klausa else if secara berurutan menguji beberapa kondisi dan berhenti pada kondisi pertama yang cocok.
  • 🧪 Steno: Operator ternary meringkas pernyataan if…else sederhana menjadi satu ekspresi yang mengembalikan sebuah nilai.
  • ️ Alternatif: Pernyataan switch membandingkan satu nilai dengan banyak opsi tetap secara lebih rapi daripada rantai yang panjang.
  • 📊 Jebakan: Nilai yang salah, operator penugasan yang tidak tepat, dan tanda kurung kurawal yang hilang menyebabkan sebagian besar kesalahan kondisional.

Pernyataan Bersyarat di JavaNaskah

JavaPernyataan Kondisional Skrip

Pada dasarnya ada tiga jenis pernyataan kondisional JavaNaskah.

  1. jika Pernyataan: Pernyataan 'jika' mengeksekusi kode berdasarkan suatu kondisi.
  2. pernyataan if…else: Pernyataan if…else terdiri dari dua blok kode; ketika suatu kondisi benar, ia mengeksekusi blok kode pertama dan ketika kondisinya salah, ia mengeksekusi blok kode kedua.
  3. pernyataan if…else if…else: Ketika beberapa kondisi perlu diuji dan blok kode yang berbeda perlu dieksekusi berdasarkan kondisi mana yang benar, pernyataan if…else if…else digunakan.

Masing-masing dari ketiga bentuk tersebut akan dibahas di bawah ini beserta sintaks dan contoh yang dapat dijalankan. Aturan yang sama berlaku terlepas dari apakah skrip tersebut berada di... di dalam halaman atau di dalam file eksternal, dan apakah kondisi tersebut ditulis di tingkat teratas atau di dalam fungsi.

Cara Menggunakan Pernyataan Bersyarat

Pernyataan kondisional digunakan untuk menentukan aliran eksekusi berdasarkan kondisi yang berbeda. Jika suatu kondisi benar, Anda dapat melakukan satu tindakan, dan jika kondisi salah, Anda dapat melakukan tindakan lain.

Diagram di bawah ini menunjukkan ide tersebut sebagai persimpangan jalan: satu kondisi dievaluasi sekali, dan kendali berjalan ke cabang yang benar atau cabang yang salah, tidak pernah keduanya.

Diagram alir yang menunjukkan sebuah JavaKondisi skrip bercabang menjadi jalur benar dan jalur salah.

Pernyataan If

sintaks:

if(condition)
{
	lines of code to be executed if condition is true
}

Anda dapat menggunakan if pernyataan jika Anda hanya ingin memeriksa kondisi tertentu. Ketika ekspresi di dalam tanda kurung bernilai true, blok tersebut berjalan; ketika dievaluasi menjadi falsePenerjemah langsung melewati bagian itu dan naskah berlanjut ke pernyataan berikutnya.

Coba ini sendiri:

<html>
<head>
	<title>IF Statments!!!</title>
	<script type="text/javascript">
		var age = prompt("Please enter your age");
		if(age>=18)
		document.write("You are an adult <br />");
		if(age<18)
		document.write("You are NOT an adult <br />");
	</script>
</head>
<body>
</body>
</html>

Contoh tersebut meminta pengunjung untuk memasukkan usia, kemudian menguji nilai tersebut dua kali: sekali untuk usia 18 tahun ke atas, dan sekali untuk usia di bawah 18 tahun. Karena dua pengujian terpisah if pernyataan digunakan sebagai pengganti elseKedua kondisi tersebut dievaluasi setiap kali halaman dimuat.

Padanan modernnya: Kode di atas tetap sama persis seperti yang dipublikasikan. Pada versi terbaru JavaSkrip dengan logika yang sama seperti yang biasanya ditulis dengan let or const alih-alih var, dengan console.log() or textContent alih-alih document.write(), dan tanpa type="text/javascript" atribut, yang oleh HTML5 dibuat opsional.

Pernyataan Jika…Jika Tidak

sintaks:

if(condition)
{
	lines of code to be executed if the condition is true
}
else
{
	lines of code to be executed if the condition is false
}

Anda dapat menggunakan if...else Pernyataan ini berlaku jika Anda harus memeriksa satu kondisi dan menjalankan blok kode yang berbeda untuk setiap hasil. Tepat satu dari dua blok kode selalu dijalankan, sehingga tidak diperlukan pengujian kedua yang terpisah.

Coba ini sendiri:

<html>
<head>
	<title>If...Else Statments!!!</title>
	<script type="text/javascript">
		// Get the current hours
		var hours = new Date().getHours();
		if(hours<12)
		document.write("Good Morning!!!<br />");
		else
		document.write("Good Afternoon!!!<br />");
	</script>
</head>
<body>
</body>
</html>

Sini new Date().getHours() Mengembalikan jam saat ini pada jam browser sebagai angka dari 0 hingga 23. Nilai apa pun di bawah 12 menghasilkan ucapan selamat pagi, dan setiap nilai lainnya akan diteruskan ke else cabang.

Pernyataan Jika…Jika…Jika…Lainnya

sintaks:

if(condition1)
{
	lines of code to be executed if condition1 is true
}
else if(condition2)
{
	lines of code to be executed if condition2 is true
}
else
{
	lines of code to be executed if condition1 is false and condition2 is false
}

Anda dapat menggunakan if...else if...else Gunakan pernyataan ini jika Anda ingin memeriksa lebih dari dua kondisi. Kondisi dievaluasi dari atas ke bawah, eksekusi berhenti pada kondisi pertama yang benar, dan kondisi terakhir else berfungsi sebagai penampung umum ketika tidak ada satu pun yang cocok.

Coba ini sendiri:

<html>
<head>
	<script type="text/javascript">
		var one = prompt("Enter the first number");
		var two = prompt("Enter the second number");
		one = parseInt(one);
		two = parseInt(two);
		if (one == two)
			document.write(one + " is equal to " + two + ".");
		else if (one<two)
			document.write(one + " is less than " + two + ".");
		else
			document.write(one + " is greater than " + two + ".");
	</script>
</head>
<body>
</body>
</html>

Perhatikan dua panggilan ke parseInt()Nilai yang dikembalikan oleh prompt() Karena berupa string, membandingkannya tanpa konversi akan membandingkan teks dan bukan angka, dan akan melaporkan "9" sebagai lebih besar dari "10".

Terner Operator: Singkatan dari if…else

Ketika sebuah if...else Blok hanya memilih antara dua nilai, operator kondisional (ternary) menyatakan keputusan yang sama seperti ekspresi tunggal. Ini adalah salah satunya. JavaOperator skrip yang menerima tiga operan: sebuah kondisi, tanda tanya, nilai yang digunakan ketika kondisi bernilai benar, titik dua, dan nilai yang digunakan ketika kondisi bernilai salah.

// if...else form
let message;
if (age >= 18) {
  message = "adult";
} else {
  message = "minor";
}

// same decision as a ternary expression
let label = age >= 18 ? "adult" : "minor";

Gunakan operator ternary ketika hal itu meningkatkan keterbacaan, bukan hanya untuk menghemat baris:

  • Cocok untuk: Memilih salah satu dari dua nilai untuk ditetapkan, dikembalikan, atau dimasukkan ke dalam string templat.
  • Tidak sesuai: Cabang yang menjalankan beberapa pernyataan, memanggil fungsi untuk efek sampingnya, atau membutuhkan variabel lokalnya sendiri.
  • Hindari penataan bersarang: Susunan tiga bagian di dalam susunan tiga bagian jauh lebih sulit dibaca daripada satu susunan saja. else if rantai.

Pernyataan switch vs if…else if…else

Sepanjang else if Rangkaian yang terus membandingkan variabel yang sama dengan nilai tetap yang berbeda biasanya lebih jelas jika switch pernyataan. Switch mengevaluasi ekspresinya sekali, lalu melompat ke yang sesuai. case; break mencegah eksekusi berlanjut ke kasus berikutnya, dan default memainkan peran terakhir else.

switch (day) {
  case "Sat":
  case "Sun":
    document.write("Weekend");
    break;
  default:
    document.write("Weekday");
}

Kedua struktur tersebut tidak dapat saling menggantikan dalam setiap situasi:

Titik perbandingan jika…else jika…else saklar
Jenis tes Ekspresi boolean apa pun, termasuk rentang seperti hours<12 Kesetaraan hanya terhadap nilai-nilai tetap
Perbandingan yang digunakan Operator apa pun yang Anda tulis Perbandingan ketat, jadi "5" tidak cocok 5
minat Terbaik untuk beberapa kondisi yang tidak saling berkaitan Paling cocok untuk banyak nilai dari satu variabel.
Kesalahan umum Melupakan jejaknya else melupakan break, yang menyebabkan eksekusi gagal

Nilai-nilai yang Benar dan Salah dalam JavaKondisi Skrip

Suatu kondisi tidak harus berupa perbandingan. JavaSkrip akan mengkonversi apa pun yang ditemukannya di dalam tanda kurung menjadi nilai boolean terlebih dahulu, itulah sebabnya if (name) Ini adalah kode yang valid. Hanya enam nilai yang dikonversi menjadi false: false, 0, string kosong, null, undefined, dan NaNSegala hal lainnya adalah benar, termasuk string tersebut. "0", sebuah array kosong, dan sebuah objek kosong.

Sebagian besar kesalahan bersyarat dalam skrip pemula berasal dari beberapa kesalahan berikut:

  • Tugas alih-alih perbandingan: if (x = 5) menetapkan dan selalu bernilai benar; if (x === 5) membandingkan.
  • Kejutan kesetaraan yang longgar: == mengkonversi tipe sebelum membandingkan, jadi "" == 0 Memang benar. Lebih suka ===.
  • Kurung kurawal hilang: tanpa {} hanya pernyataan tunggal berikutnya yang termasuk dalam cabang tersebut, persis seperti pada contoh di atas.
  • Input yang belum dikonversi: nilai dari prompt() dan kolom formulir berupa string hingga parseInt() or Number() mengubah mereka.
  • Cabang yang tidak dapat dijangkau: di else if Dalam suatu rangkaian, tempatkan kondisi yang paling sempit terlebih dahulu, atau pengujian yang lebih luas di awal akan selalu menang.

Pertanyaan Umum Demo Slot

Tunggal = memberikan nilai dan membuat kondisi tersebut menjadi benar secara tidak sengaja. == membandingkan setelah mengkonversi tipe, jadi "" == 0 adalah benar. === Membandingkan nilai dan tipe secara bersamaan dan merupakan pilihan default yang lebih aman.

Asisten AI dapat mengulang kembali kalimat yang tidak familiar. else if Dalam bahasa Inggris sederhana, jelaskan rantai tersebut, sarankan nilai input yang mencapai setiap cabang, dan tandai kondisi yang tidak mungkin benar. Selalu jalankan kode sendiri, karena penjelasan tersebut hanyalah saran dan bukan bukti.

Sering ya. Kopilot GitHub Melengkapi kode percabangan dari komentar atau kondisi parsial. Periksa nilai batas yang dipilihnya, karena nilai yang dihasilkan > di mana Anda membutuhkannya >= mudah terlewatkan.

Tidak ada batasan bahasa. Pernyataan apa pun dapat muncul di dalam sebuah cabang, termasuk cabang selanjutnya. ifDi luar dua level, logikanya menjadi sulit diikuti, jadi gabungkan tes dengan && atau pulang lebih awal.

Tidak. Tanpa tanda kurung kurawal, cabang hanya memiliki satu pernyataan berikutnya, itulah mengapa contoh di atas berhasil. Menambahkan tanda kurung kurawal tetap disarankan, karena baris kedua yang ditambahkan kemudian secara diam-diam berada di luar cabang.

&& pernyataan ini benar hanya jika kedua sisi bernilai benar, dan || Hal ini benar jika kedua sisi bernilai benar. Keduanya mengalami korsleting: sisi kanan tidak pernah dievaluasi setelah hasilnya sudah ditentukan.

getHours() Fungsi ini mengembalikan jam saat ini dari jam milik pengunjung sebagai angka dari 0 hingga 23, sehingga perbandingan dengan 12 membagi hari menjadi pagi dan siang tanpa perlu penguraian tambahan.

Nomor JavaSkrip menggunakan dua kata kunci terpisah, else if, dengan spasi di antaranya. Kata tunggal elseif termasuk dalam PHP dan beberapa bahasa template dan menimbulkan kesalahan sintaksis di browser.

Ringkaslah postingan ini dengan: