Verschil tussen == en === in JavaScript

Wat is het verschil tussen ==en ===in JavaScript? Ik heb ook !=en !==operators gezien. Zijn er meer van dergelijke operators?


Antwoord 1, autoriteit 100%

===en !==zijn strikte vergelijkingsoperatoren:

JavaScript heeft zowel strikte als
type-converterende gelijkheidsvergelijking.
Voor strictgelijkheid zijn de objecten:
vergeleken moet hetzelfde type hebben en:

  • Twee strings zijn strikt gelijk als ze dezelfde reeks hebben van
    tekens, dezelfde lengte en hetzelfde
    tekens op overeenkomstige posities.
  • Twee getallen zijn strikt gelijk als ze numeriek gelijk zijn (hebben
    dezelfde getalswaarde). NaNis niet
    gelijk aan alles, inclusief NaN.
    Positieve en negatieve nullen zijn gelijk
    met elkaar.
  • Twee Booleaanse operanden zijn strikt gelijk als beide waar zijn of
    beide zijn onwaar.
  • Twee objecten zijn strikt gelijk als ze verwijzen naar hetzelfde Object.
  • De typen

  • Nullen Undefinedzijn ==(maar niet ===). [D.w.z. (Null==Undefined) is truemaar (Null===Undefined) is false]

Vergelijkingsoperators – MDC


Antwoord 2, autoriteit 94%

Kijk hier: http://longgoldenears.blogspot .com/2007/09/triple-equals-in-javascript.html

De 3 gelijktekens betekenen ‘gelijkheid zonder dwang’. Als u de drievoudige gelijken gebruikt, moeten de waarden ook qua type gelijk zijn.

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false

Other episodes