=== (kesamaan ketat) membandingkan nilai dan jenis tanpa konversi. == (kesamaan longgar) melakukan paksaan jenis terlebih dahulu, yang membawa hasil yang mengejutkan.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (kesamaan ketat) membandingkan nilai dan jenis tanpa konversi. == (kesamaan longgar) melakukan paksaan jenis terlebih dahulu, yang membawa hasil yang mengejutkan.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Peraturan paksaan tidak jelas dan menyebabkan bug. Contohnya, [] == ![] adalah true (kejanggalan yang terkenal). Anda jarang ingin JavaScript secara diam-diam mengubah jenis di belakang punggung Anda saat membandingkan.
Selalu gunakan === (dan !==). Satu-satunya pengecualian umum yang disengaja adalah memeriksa null atau undefined bersama:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Untuk semuanya, kesamaan ketat menjaga perbandingan dapat diprediksi. Untuk membandingkan objek, Anda memerlukan pemeriksaan kesamaan mendalam (mereka membandingkan berdasarkan referensi, jadi {a:1} === {a:1} adalah false).