Bagaimana saya bisa menggunakan if
pernyataan inline dalam JavaScript? Apakah ada else
pernyataan inline juga?
Sesuatu seperti ini:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
javascript
if-statement
ternary-operator
conditional-operator
santai saja
sumber
sumber
Jawaban:
Anda tidak perlu jQuery. JavaScript sendiri akan melakukan ini.
The
c
variabel akanminor
jika nilaitrue
, danmajor
jika nilaifalse
.Ini dikenal sebagai Operator Bersyarat (ternary).
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
sumber
if (a < b) c = 'major';
Untuk menulis
if
inline pernyataan, kode di dalamnya hanya boleh satu pernyataan:sumber
Ada operator ternary, seperti ini:
sumber
0 < 1 : 5 : 120;
adalah pernyataan yang benar-benar valid. Sedikit tidak berguna kecuali Anda dibayar per baris.if
pernyataan membosankan lama yang biasa dalam kasus seperti itu mungkin akan membuat kode Anda lebih mudah dibaca dan dipahami, dan kecil kemungkinannya untuk dipecahkan dengan perubahan selanjutnya.Anda juga dapat memperkirakan suatu if / else dengan hanya menggunakan Logical Operator.
Di atas kira-kira sama dengan mengatakan:
Dan tentu saja, kira-kira sama dengan:
Saya katakan secara kasar karena ada satu perbedaan dengan pendekatan ini, yaitu Anda harus tahu bahwa nilai
b
akan dinilai benar, jika tidak, Anda akan selalu mendapatkannyac
. Pada dasarnya Anda harus menyadari bahwa bagian yang akan munculif () { here }
sekarang adalah bagian dari kondisi yang Anda tempatkanif ( here ) { }
.Di atas dimungkinkan karena perilaku JavaScripts melewati / mengembalikan salah satu nilai asli yang membentuk ekspresi logis, yang tergantung pada jenis operator. Bahasa-bahasa lain tertentu, seperti PHP, meneruskan hasil operasi yang sebenarnya yaitu benar atau salah, artinya hasilnya selalu benar atau salah; misalnya:
Satu manfaat utama, dibandingkan dengan pernyataan normal jika, adalah bahwa dua metode pertama dapat beroperasi di sisi kanan argumen yaitu sebagai bagian dari tugas.
Satu-satunya cara untuk mencapai ini dengan standar jika pernyataan akan menduplikasi tugas:
Anda mungkin bertanya mengapa penggunaan hanya Logical Operator bukan Ternary operator , untuk kasus sederhana Anda mungkin tidak akan, kecuali jika Anda ingin memastikan
a
danb
berdua benar. Anda juga dapat mencapai kondisi rumit yang lebih ramping dengan operator Logical, yang dapat menjadi sangat berantakan dengan menggunakan operasi bersarang bersarang ... lalu lagi jika Anda ingin kode Anda mudah dibaca, tidak ada yang terlalu intuitif.sumber
Dalam bahasa Inggris biasa, sintaks menjelaskan:
Dapat ditulis sebagai:
sumber
condition ? true
true
false
dan""
semua harus baik-baik saja untuk mengabaikan bagian yang lain.2 == 2 ? doSomething()
akan sama denganif (2 == 2) doSomething()
?: false
atau: ""
harus ada karena javascript mengharapkan ini.sumber
Jika Anda hanya menginginkan IF inline (tanpa ELSE), Anda dapat menggunakan operator logika DAN:
Jika Anda membutuhkan ELSE juga, gunakan operasi ternary yang disarankan orang lain.
sumber
Anda bisa melakukan ini di JavaScript:
sumber
FYI, Anda dapat membuat operator bersyarat
Jika logika Anda cukup kompleks, maka Anda dapat mempertimbangkan untuk menggunakan IIFE
Tentu saja, jika Anda berencana untuk menggunakan logika ini lebih dari sekali, maka Anda harus merangkumnya dalam fungsi untuk menjaga hal-hal baik dan KERING.
sumber
Saya sering perlu menjalankan lebih banyak kode per kondisi, dengan menggunakan:
( , , )
beberapa elemen kode dapat menjalankan:sumber
Untuk menambahkan ini, Anda juga dapat menggunakan sebaris jika kondisi dengan && dan || operator. Seperti ini
sumber
Bukankah pertanyaannya pada dasarnya: dapatkah saya menulis yang berikut?
jawabannya adalah, ya, terjemahan di atas akan diterjemahkan.
Namun, berhati-hatilah dengan melakukan hal berikut
pastikan untuk membungkus kode ambigu dalam kurung kurawal karena hal di atas akan mengeluarkan pengecualian (dan permutasi yang sama akan menghasilkan perilaku yang tidak diinginkan.)
sumber
sebaris jika:
kesimpulan kebenaran: pernyataan dieksekusi ketika hipotesis benar
kesimpulan falsey: pernyataan dieksekusi ketika hipotesis salah
contoh anda:
sumber