=== (szigorú egyenlőség) az értéket és a típust hasonlítja össze konverzió nélkül. == (laza egyenlőség) előbb típuskonverziót végez, amely meglepő eredményekhez vezethet.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (szigorú egyenlőség) az értéket és a típust hasonlítja össze konverzió nélkül. == (laza egyenlőség) előbb típuskonverziót végez, amely meglepő eredményekhez vezethet.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
A konverziós szabályok nem nyilvánvalóak és bugokhoz vezetnek. Például a [] == ![] értéke true (egy híres sajátosság). Ritkán szeretnél, ha a JavaScript csendesen konvertálná a típusokat összehasonlítás közben.
Mindig használj === -t (és !==). Az egyik közös, szándékos kivétel a null vagy undefined együttes ellenőrzése:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Mindenhez máshol a szigorú egyenlőség megtartja az összehasonlítások kiszámíthatóságát. Az objektumok összehasonlításához mély-egyenlőség ellenőrzésre van szükséged (referencia szerint hasonlítanak össze, így a {a:1} === {a:1} értéke false).