Tingkah laku pengendali
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>
===
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!