De dubbele gelijkteken ‘==’ operator test op losse gelijkheid wat betekent dat hij automatisch typeconversie zal uitvoeren als de typen van de twee variabelen verschillen voordat hij de gelijkheid toetst. Bijvoorbeeld, als je een string met een nummer vergelijkt met een daadwerkelijk nummer, dan zal ‘==’ zien of ze gelijk zijn na de conversie.
Aan de andere kant checkt de drievoudige gelijkheid ‘===’ op strikte gelijkheid en zal hij geen typeconversie uitvoeren voordat hij gelijkheid checkt. Het evalueert dus naar waar als zowel de waarde als het type van de twee variabelen overeenkomen.
Voorbeeld:
0==false // true omdat false wordt omgezet in 0 in JavaScript
0===false // false, want zowel type als waarde moeten hetzelfde zijn
‘2’== 2 // true, want ‘2’ wordt omgezet naar numeriek 2
‘2’=== 2 // false, want strikte gelijkheid kijkt ook naar type