Apabila bekerja dengan rentetan dalam JavaScript, adalah penting untuk memahami perbezaan antara penugasan kesaksamaan dan perbandingan kesaksamaan. Perbezaan ini menjadi jelas apabila cuba menentukan sama ada rentetan memenuhi kriteria panjang tertentu.
Pertimbangkan kod berikut:
if (str = '') {...} // Incorrect equality assignment else if (str.length <= 9) {...} else if (str.length <= 10) {...}
Isu dengan kod ini terletak pada baris pertama, di mana = adalah digunakan untuk penugasan kesaksamaan dan bukannya perbandingan kesaksamaan. Single sama = operator memberikan nilai kepada str dan kemudian mengembalikan nilai yang diberikan itu. Ini bermakna syarat if pertama akan sentiasa palsu kerana '' ialah nilai palsu dalam JavaScript.
Pendekatan yang betul untuk menyemak kesaksamaan ialah menggunakan pengendali double equals == atau strict equals === operator. Perbezaan antara keduanya ialah == melakukan paksaan jenis, manakala === tidak. Contohnya:
if (str === '') {...} // Correct equality comparison else if (str.length <= 9) {...} else if (str.length <= 10) {...}
Dalam kod ini, pernyataan if menyemak sama ada str ialah rentetan kosong menggunakan pengendali perbandingan kesaksamaan yang ketat ===. Jika tidak, kod itu menyemak kekangan panjang menggunakan pernyataan else if. Ini memastikan penilaian yang tepat bagi panjang rentetan berdasarkan kriteria yang diberikan.
Atas ialah kandungan terperinci Bagaimanakah Perbandingan Kesamaan Berfungsi dalam JavaScript, Terutamanya dengan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!