Rumah >hujung hadapan web >tutorial js >Kita harus memahami `==` lebih, daripada tidak menggunakannya sama sekali.
Tingkah laku pengendali
(pengkomputeran longgar sama) dalam JavaScript sering mengelirukan. Rahsinya adalah bahawa ia lebih suka perbandingan berangka. Pada pandangan pertama, ini kelihatan pelik, tetapi apabila anda memahami prinsip kerja, anda akan memahami sebab -sebab di sebalik tingkah laku ini dan cara menggunakannya dengan berkesan. ==
simbol operasi mengikuti algoritma perbandingan abstrak ==
. Algoritma ini mempunyai kecenderungan yang jelas: ia lebih suka menukar nilai kepada nombor sebelum perbandingan. Prinsip kerja adalah seperti berikut:
==
Penting
di sini, rentetan "5" ditukar menjadi nombor 5, yang agak berjaya. Walau bagaimanapun, jika anda menggunakan , jenis mesti dipadankan, jadi ia kembali palsu. ==
<code class="language-javascript">console.log(5 == "5"); // true</code>boleh mengendalikannya tanpa perlu penukaran jenis eksplisit.
===
bila hendak menggunakan
Walaupun biasanya lebih selamat, dalam beberapa kes, ==
juga berguna. Sebagai contoh, jika anda memproses data yang mungkin muncul dalam bentuk rentetan atau bentuk digital (seperti input pengguna dari borang),
==
===
perspektif yang lebih luas ==
==
Titik utama adalah
<code class="language-javascript">function isAnswerCorrect(userInput, correctAnswer) { return userInput == correctAnswer; } console.log(isAnswerCorrect("42", 42)); // true</code>
==
Ini kerana array ditukar kepada rentetan ("42"), dan kemudian ditukar kepada nombor (42). Walau bagaimanapun, hanya kerana ia berkesan tidak bermakna idea yang baik. Masalah di sini bukan , tetapi perbandingan yang tidak bermakna.
==
Simbol operasi dalam JavaScript mempunyai keutamaan berangka. Walaupun biasanya pilihan yang lebih selamat, dalam senario tertentu, jika jenis penukaran wajib adalah disengajakan dan mudah difahami, kita harus mempertimbangkan menggunakan ===
kerana ia juga merupakan sebahagian daripada bahasa. ==
Atas ialah kandungan terperinci Kita harus memahami `==` lebih, daripada tidak menggunakannya sama sekali.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!