Rumah > hujung hadapan web > tutorial js > Bilakah `&&` Litar pintas dalam JavaScript dan Mengapa?

Bilakah `&&` Litar pintas dalam JavaScript dan Mengapa?

Mary-Kate Olsen
Lepaskan: 2024-11-03 20:08:03
asal
296 orang telah melayarinya

When Does `&&` Short-Circuit in JavaScript and Why?

Memahami Pintasan Bersyarat "&&" dalam JavaScript

Dalam JavaScript, pengendali "&&" yang dikenali sebagai operator "bersyarat dan" membenarkan anda untuk melaksanakan blok kod berdasarkan syarat tertentu.

Apakah yang dilakukan oleh "&& foo()"?

Ungkapan "x && foo()" adalah bersamaan dengan pernyataan bersyarat berikut:

if (x) {
  foo();
}
Salin selepas log masuk

Ini bermakna foo() hanya akan dilaksanakan jika x benar (bukan null, undefined, 0, NaN atau rentetan kosong).

Mengapa ini berlaku?

JavaScript mempunyai ciri yang dipanggil "litar pintas" untuk pengendali bersyarat seperti "&&" dan "||" (logik atau). Ini bermakna bahawa penilaian operan kedua dilangkau jika operan pertama mencukupi untuk menentukan hasil.

Dalam kes "&&", jika x adalah palsu, ungkapan menilai kepada palsu serta-merta dan foo( ) tidak pernah dilaksanakan. Sebaliknya, jika x benar, ungkapan dinilai kepada benar, dan foo() kemudiannya dilaksanakan.

Implikasi Litar Pintasan

Sementara pendek ini -tingkah laku litar boleh menjadi mudah, adalah penting untuk mengetahui kemungkinan perangkapnya. Sebagai contoh, jika foo() mempunyai kesan sampingan yang tidak bergantung pada nilai x, kesan sampingan ini tidak akan berlaku jika x adalah palsu.

Selain itu, berhati-hati dengan operan yang menilai kepada nilai kebenaran tetapi mewakili ketiadaan data atau kes khas, seperti 0 atau rentetan kosong. Dalam situasi ini, secara amnya lebih baik menggunakan pernyataan bersyarat eksplisit untuk mengendalikannya secara eksplisit.

Atas ialah kandungan terperinci Bilakah `&&` Litar pintas dalam JavaScript dan Mengapa?. 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