=== (kesin eşitlik) dönüştürme olmadan değer ve türü karşılaştırır. == (gevşek eşitlik) önce tür zorlaması gerçekleştirir ve bu da şaşırtıcı sonuçlara yol açar.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (kesin eşitlik) dönüştürme olmadan değer ve türü karşılaştırır. == (gevşek eşitlik) önce tür zorlaması gerçekleştirir ve bu da şaşırtıcı sonuçlara yol açar.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Zorlama kuralları açık değildir ve hataların meydana gelmesine yol açar. Örneğin, [] == ![] değeri true (ünlü bir tuhaflık) şeklindedir. JavaScript'in karşılaştırma sırasında arkasından türleri sessizce dönüştürmesini nadiren istersiniz.
Her zaman === kullanın (ve !==). Tek yaygın, kasıtlı istisna null veya undefined'ı birlikte kontrol etmektir:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Diğer her şey için kesin eşitlik karşılaştırmaları tahmin edilebilir tutar. Nesneleri karşılaştırmak için derin eşitlik kontrolüne ihtiyaç duyarsınız (başvuru ile karşılaştırırlar, bu nedenle {a:1} === {a:1} değeri false şeklindedir).