Rumah > hujung hadapan web > tutorial js > Adakah JavaScript Menggunakan Penilaian Litar Pintas dalam Operator Logik?

Adakah JavaScript Menggunakan Penilaian Litar Pintas dalam Operator Logik?

Barbara Streisand
Lepaskan: 2024-11-28 21:40:12
asal
715 orang telah melayarinya

Does JavaScript Utilize Short-Circuit Evaluation in Logical Operators?

Penilaian Litar Pintas JavaScript - Panduan Komprehensif

Dalam pengaturcaraan, penilaian litar pintas merujuk kepada tingkah laku di mana ungkapan dinilai sehingga keputusan diketahui, dan ungkapan selebihnya dilangkau. Mekanisme ini biasanya digunakan dalam pernyataan bersyarat untuk mengelakkan pengiraan yang tidak perlu.

Adakah JavaScript Menyokong Penilaian Litar Pintas?

Ya, JavaScript menyokong penilaian litar pintas. Seperti yang ditunjukkan dalam contoh di bawah, && (DAN) dan || (ATAU) pengendali mempamerkan tingkah laku ini.

Contoh:

Pertimbangkan kod JavaScript berikut:

if (true || foo.foo) {
  // Passes, no errors because `foo` isn't defined.
}
Salin selepas log masuk

Demo Langsung: https://jsfiddle.net/iayzejre/

Penjelasan:

The || operator akan segera kembali benar apabila operan pertama (dalam kes ini, benar) menilai kepada benar. Oleh itu, ungkapan akan lulus tanpa mengira sama ada foo.foo ditakrifkan atau tidak, kerana operan kedua tidak dinilai.

Contoh:

Sekarang pertimbangkan kod ini:

if (false && foo.foo) {
  // Also passes, no errors because `foo` isn't defined.
}
Salin selepas log masuk

Demo Langsung: https://jsfiddle.net/iayzejre/1/

Penjelasan:

Begitu juga, operator && hanya akan menilai operan kedua jika operan pertama bernilai benar . Memandangkan false sentiasa palsu, syaratnya gagal serta-merta dan foo.foo tidak pernah dinilai.

Penyelesaian untuk Bahasa Lain

Jika bahasa pengekodan anda tidak menyokong short- penilaian litar, terdapat kemungkinan penyelesaian menggunakan operator ternary. Pertimbangkan contoh C# ini:

if (true ? true : foo.foo) {
  // Passes without compilation errors.
}
Salin selepas log masuk

Dalam kes ini, pengendali ternary akan segera kembali benar jika operan pertama (keadaan benar) adalah benar. Jika palsu, ia akan menilai operan kedua (ungkapan foo.foo). Walau bagaimanapun, penyelesaian ini mungkin tidak sesuai untuk semua senario dan harus digunakan dengan berhati-hati.

Atas ialah kandungan terperinci Adakah JavaScript Menggunakan Penilaian Litar Pintas dalam Operator Logik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan