=== (stroga jednakost) uspoređuje vrijednost i tip bez pretvorbe. == (labava jednakost) prvo provodi pretvorbu tipa, što dovodi do iznenađujućih rezultata.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (stroga jednakost) uspoređuje vrijednost i tip bez pretvorbe. == (labava jednakost) prvo provodi pretvorbu tipa, što dovodi do iznenađujućih rezultata.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Pravila pretvorbe nisu očita i dovode do grešaka. Na primjer, [] == ![] je true (poznata anomalija). Rijetko želite da JavaScript tiho pretvara tipove iza leđa tijekom usporedbe.
Uvijek koristite === (i !==). Jedna česta, namjerna iznimka je provjera null ili undefined zajedno:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Za sve ostalo, stroga jednakost čini usporedbe predvidivima. Za usporedbu objekata trebate provjeru duboke jednakosti (oni se uspoređuju po referenci, pa je {a:1} === {a:1} false).