Memahami Perbandingan Kesaksamaan dalam JavaScript
Apabila bekerja dengan rentetan dalam JavaScript, adalah penting untuk memahami cara perbandingan kesaksamaan berfungsi. Coretan kod berikut bertujuan untuk menyemak sama ada rentetan yang diberikan kosong, mempunyai kurang daripada atau sama dengan 9 digit atau mempunyai sehingga 10 digit. Walau bagaimanapun, pernyataan bersyarat dalam coretan menghasilkan hasil yang tidak dijangka.
if (str = '') { console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); }
tanpa mengira rentetan input, program secara konsisten mencetak "Rentetan mestilah sekurang-kurangnya 9 aksara panjang". Tingkah laku ini berpunca daripada penggunaan simbol sama (=) yang salah untuk perbandingan kesamaan.
Ralat: Mencampurkan Tugasan dan Kesaksamaan
Dalam JavaScript, simbol sama (= ) digunakan terutamanya untuk tugasan, bukan untuk perbandingan kesaksamaan. Perbandingan kesaksamaan hendaklah dilakukan menggunakan pengendali dua sama dengan (==) atau triple equals (===).
Kod Betul untuk Perbandingan Kesaksamaan:
Versi yang betul coretan kod hendaklah menggunakan pengendali kesaksamaan yang sesuai seperti berikut:
if (str === '') { console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); }
Kod yang disemak menyemak panjang rentetan menggunakan pengendali yang betul, memberikan gelagat yang diharapkan untuk mengeluarkan mesej yang berbeza berdasarkan kandungan rentetan.
Atas ialah kandungan terperinci Mengapa Kod JavaScript Saya Berlaku Salah Semasa Menyemak Panjang Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!