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.
Voorstrict
gelijkheid 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).NaN
is niet
gelijk aan alles, inclusiefNaN
.
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
Null
enUndefined
zijn==
(maar niet===
). [D.w.z. (Null==Undefined
) istrue
maar (Null===Undefined
) isfalse
]
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