=== (stroga enakost) primerjuje vrednost in tip brez pretvorbe. == (ohlapna enakost) najprej izvede prisiljeno pretvorbo tipa, kar vodi do presenetljivih rezultatov.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (stroga enakost) primerjuje vrednost in tip brez pretvorbe. == (ohlapna enakost) najprej izvede prisiljeno pretvorbo tipa, kar vodi do presenetljivih rezultatov.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Pravila prisile niso očitna in vodijo do napak. Na primer, [] == ![] je true (znana posebnost). Redko želiš, da JavaScript tiho pretvarja tipe za tvojim hrbtom med primerjavo.
Vedno uporabi === (in !==). Edina običajna, namenska izjema je preverjanje za null ali undefined skupaj:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Za vse ostalo stroga enakost ohranja primerjave predvidljive. Za primerjavo objektov potrebuješ globinsko preverjanje enakosti (primerjajo se po referenci, zato {a:1} === {a:1} je false).