=== (streng likhet) sammenligner verdi og type uten konvertering. == (løs likhet) utfører typetilpasning først, noe som fører til overraskende resultater.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (streng likhet) sammenligner verdi og type uten konvertering. == (løs likhet) utfører typetilpasning først, noe som fører til overraskende resultater.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Tilpasningsreglene er ikke åpenbare og fører til bugs. For eksempel, [] == ![] er true (en beryktet særegenhet). Du ønsker sjelden at JavaScript stille konverterer typer bak ryggen din under en sammenligning.
Bruk alltid === (og !==). Det ene vanlige, hensiktsmessige unntaket er når du skal sjekke for null eller undefined sammen:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
For alt annet holder streng likhet sammenligninger forutsigbare. For å sammenligne objekter trenger du en dyplikhetskontroll (de sammenligner etter referanse, så {a:1} === {a:1} er false).