Pernah terfikir bagaimana pengendali ??
, ||
dan &&
JavaScript berfungsi di bawah hud? Artikel ini membongkar misteri penilaian litar pintas, menerangkan tingkah laku mereka dan menyerlahkan amalan terbaik.
Penilaian litar pintas dalam JavaScript bermaksud pengendali logik menilai ungkapan dari kiri ke kanan, berhenti sebaik sahaja hasilnya jelas.
Logik DAN (&&
)
Mengembalikan nilai palsu pertama yang ditemui; jika tidak, ia mengembalikan nilai terakhir jika semuanya benar.
let x = 5; let y = 0; console.log(x && y); // 0 console.log(x && true); // true
Logik ATAU (||
)
Mengembalikan nilai kebenaran pertama yang ditemui; jika tidak, ia mengembalikan nilai terakhir jika semuanya palsu.
let a = null; let b = "Hello"; console.log(a || b); // Hello console.log(a || false); // false
Operator Penggabungjalinan Batal (??
)
Memberikan nilai lalai hanya apabila operan kiri ialah null
atau undefined
.
let userName = null; let result = 0 ?? 100; console.log(result); // 0 console.log(userName ?? "Guest"); // Guest
Penggunaan Gabungan (dengan Amalan Terbaik)
Menggabungkan pengendali ini memerlukan penggunaan kurungan yang teliti untuk mengelakkan hasil yang tidak dijangka.
let a = null; let b = 0; let c = 10; let d = 20; let result = (a ?? b) || (c && d); console.log(result); // 20
(a ?? b)
menilai kepada 0
(memandangkan a
ialah null
). (c && d)
menilai kepada 20
. Oleh itu, 0 || 20
menghasilkan 20
.
Kelebihan Penilaian Litar pintas:
null
atau undefined
.Kelemahan:
Amalan Terbaik:
??
daripada ||
apabila berurusan secara khusus dengan null
atau undefined
untuk mengelakkan mengatasi nilai palsu lain (cth., 0
, ""
).Penilaian litar pintas bukan unik untuk JavaScript; ia adalah ciri biasa dalam banyak bahasa pengaturcaraan (Python, Java, C/C, dll.), walaupun sintaksnya mungkin berbeza.
Hubungi saya di LinkedIn: www.linkedin.com/in/geetansh-chahal-b7473b1b4/
Atas ialah kandungan terperinci Penilaian litar pintas dalam JavaScript: Meningkatkan prestasi dan memudahkan logik!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!