Rumah >hujung hadapan web >tutorial js >Petua Pantas: Cara Menggunakan Operator Ternary di JavaScript
pengendali ternary JavaScript (juga dikenali sebagai pengendali bersyarat) digunakan untuk melakukan pemeriksaan keadaan sebaris, bukannya
pernyataan. Ia menjadikan kod lebih ringkas dan mudah dibaca, dan boleh memberikan nilai kepada pembolehubah atau melaksanakan ungkapan berdasarkan syarat. if...else
mata utama
if…else if…else
if…else
Pengendali Ternary menerima tiga pengendali; Anda menyediakan syarat untuk menguji, diikuti dengan tanda tanya, diikuti oleh dua ungkapan yang dipisahkan oleh Colon. Jika keadaan dianggap sebagai nilai sebenar, ungkapan pertama dilaksanakan;
Format penggunaannya adalah seperti berikut:
di mana
<code class="language-javascript">condition ? expr1 : expr2</code>adalah syarat yang akan diuji. Jika nilainya adalah benar, maka
dilaksanakan. Jika tidak, jika nilainya adalah nilai palsu, maka condition
dilaksanakan. expr1
expr2
boleh menjadi apa -apa jenis ungkapan. Mereka boleh menjadi pembolehubah, panggilan fungsi, atau keadaan lain. expr1
expr2
Contoh:
<code class="language-javascript">1 > 2 ? console.log("You are right") : console.log('You are wrong');</code>Gunakan pengendali ternary untuk tugasan nilai
Salah satu kes penggunaan yang paling biasa untuk pengendali ternary adalah untuk menentukan nilai untuk memberikan nilai kepada pembolehubah. Nilai pembolehubah biasanya bergantung kepada nilai pembolehubah atau keadaan lain.
Walaupun ini dapat dicapai dengan menggunakan pernyataan
, ini akan menjadikan kod itu lebih lama dan lebih sukar untuk dibaca. Contohnya:
if...else
Dalam contoh kod ini, mula -mula menentukan pembolehubah
<code class="language-javascript">const numbers = [1,2,3]; let message; if (numbers.length > 2) { message = 'The numbers array is too long'; } else { message = 'The numbers array is short'; } console.log(message); // "The numbers array is too long"</code>untuk menentukan nilai pembolehubah.
message
Ini boleh dilakukan hanya dalam satu baris menggunakan pengendali ternary: if...else
Jalankan ekspresi menggunakan pengendali ternary
<code class="language-javascript">const numbers = [1,2,3]; let message = numbers.length > 2 ? 'The numbers array is too long' : 'The numbers array is short'; console.log(message); // "The numbers array is too long"</code>
Operator Ternary boleh digunakan untuk melaksanakan apa -apa jenis ungkapan. Contohnya, jika anda ingin menentukan fungsi mana yang akan dijalankan berdasarkan nilai pembolehubah, anda boleh melakukan ini menggunakan pernyataan
:
Ini boleh dilakukan dalam satu baris menggunakan pengendali ternary: if...else
<code class="language-javascript">condition ? expr1 : expr2</code>
Jika nilai feedback
adalah "ya", fungsi sayThankYou
akan dipanggil dan dilaksanakan. Jika tidak, fungsi saySorry
akan dipanggil dan dilaksanakan.
Gunakan pengendali ternary untuk semak nilai null
Dalam banyak kes, anda mungkin mengusahakan pembolehubah yang mungkin atau mungkin tidak mempunyai nilai yang ditetapkan -contohnya, apabila memasuki hasil carian dari pengguna, atau ketika mengambil data dari pelayan.
Menggunakan pengendali ternary, anda boleh menyemak sama ada pembolehubah tidak batal atau tidak ditentukan dengan meletakkan nama pembolehubah dalam operan bersyarat.
Ini amat berguna apabila pembolehubah adalah objek. Ralat berlaku jika anda cuba mengakses sifat objek yang sebenarnya tidak jelas atau tidak ditentukan. Mula -mula memeriksa sama ada objek ditetapkan boleh membantu anda mengelakkan kesilapan.
Contoh:
<code class="language-javascript">1 > 2 ? console.log("You are right") : console.log('You are wrong');</code>
Di bahagian pertama blok kod ini, book
adalah objek dengan dua sifat (name
dan author
). Apabila menggunakan pengendali ternary untuk book
, ia memeriksa jika ia tidak batal atau tidak ditentukan. Jika tidak - yang bermaksud ia mempunyai nilai - kemudian akses harta name
dan log ke konsol. Jika tidak, jika ia adalah batal, rekod "tiada buku" ke konsol sebaliknya.
Sejak book
tidak batal, tajuk buku akan direkodkan dalam konsol. Walau bagaimanapun, di bahagian kedua, apabila keadaan yang sama digunakan, keadaan dalam pengendali ternary akan gagal kerana book
adalah batal. Oleh itu, "tidak ada buku" akan direkodkan dalam konsol.
syarat bersarang
Walaupun pengendali ternary digunakan untuk sebaris, pelbagai syarat boleh digunakan sebagai sebahagian daripada ekspresi pengendali ternary. Anda boleh bersarang atau menghubungkan pelbagai syarat untuk melakukan pemeriksaan keadaan yang serupa dengan kenyataan if...else if...else
.
Sebagai contoh, nilai pembolehubah mungkin bergantung kepada pelbagai keadaan. Anda boleh menggunakan if...else if...else
untuk mencapai:
<code class="language-javascript">const numbers = [1,2,3]; let message; if (numbers.length > 2) { message = 'The numbers array is too long'; } else { message = 'The numbers array is short'; } console.log(message); // "The numbers array is too long"</code>
Dalam blok kod ini, anda menguji pelbagai syarat pada pembolehubah score
untuk menentukan tahap huruf pembolehubah.
Keadaan yang sama boleh dilakukan menggunakan pengendali ternary, seperti yang ditunjukkan di bawah:
<code class="language-javascript">const numbers = [1,2,3]; let message = numbers.length > 2 ? 'The numbers array is too long' : 'The numbers array is short'; console.log(message); // "The numbers array is too long"</code>
Pertama menilai keadaan pertama, iaitu score >= 90
.
Ini akan berterusan sehingga semua keadaan palsu, yang bermaksud bahawa nilai grade
adalah 'f', atau sehingga salah satu syarat dinilai sebagai benar dan nilai sebenar diberikan kepada grade
.
Kesimpulan
Seperti yang ditunjukkan dalam contoh dalam tutorial ini, terdapat banyak kes penggunaan untuk pengendali ternary JavaScript. Dalam banyak kes, pengendali ternary dapat meningkatkan kebolehbacaan kod dengan menggantikan pernyataan verbose if...else
.
(kandungan berikutnya, seperti bahagian FAQ, disyorkan untuk mengendalikannya secara berasingan seperti yang diperlukan kerana panjang artikel.)
Atas ialah kandungan terperinci Petua Pantas: Cara Menggunakan Operator Ternary di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!