Rumah > Artikel > hujung hadapan web > Bilakah `&&` Litar pintas dalam JavaScript dan Mengapa?
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(); }
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!