JavaScript Triple Equals Sign VS Double Equals Sign - Sammenligningsoperatører forklart med eksempler
Du har kanskje sett dobbel og tredobbelt likhetstegn i JavaScript. Men hva mener de?
Vel i korte ==
trekk: konverterer iboende type og ===
konverterer ikke type.
Double Equals ( ==
) sjekker bare for verdilikhet. Det gjør iboende tvang. Dette betyr at det før du sjekker verdiene, konverterer typene av variablene til å matche hverandre.
På den annen side ===
utfører ikke Triple Equals ( ) type tvang. Det vil verifisere om variablene som sammenlignes har både samme verdi OG samme type.
OK - så la oss hjelpe deg med å forstå forskjellen bedre gjennom noen få eksempler. For hver av disse, vurder hva resultatet av disse uttalelsene vil være.
Eksempel 1:
const foo = "test" const bar = "test" console.log(foo == bar) //true console.log(foo === bar) //true
Den verdi og typen av begge foo
og bar
er samme. Derfor er resultatet true
for begge.
Eksempel 2:
const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false
Verdien av number
og stringNumber
ser lik ut her. Men hvilken type number
er Number
og type stringNumber
IS string
. Selv om verdiene er like, er ikke typen den samme. Derfor kommer en ==
sjekk tilbake true
, men når den er sjekket for verdi og type, er verdien false
.
Eksempel 3:
console.log(0 == false) //true console.log(0 === false) //false
Årsak: samme verdi, annen type. Skriv tvang
Dette er en interessant sak. Verdien av 0
når den sjekkes med false
er den samme. Det er fordi 0
og false
har samme verdi for JavaScript, men når det er sjekket for type og verdi, er verdien falsk fordi den 0
er number
og false
er boolean
.
Eksempel 4:
const str = "" console.log(str == false) //true console.log(str === false) //false
Verdien av tom streng og false
er den samme i JavaScript. Derfor ==
returnerer sant. Imidlertid er typen annerledes og ===
returnerer dermed falsk.
Når skal du bruke ==
og når skal du bruke ===
?
Bruk tvil når du er i tvil ===
. Dette vil spare deg for massevis av potensielle feil.
Hvis du støtter et brukstilfelle der du kan være litt omhyggelig med typen innkommende data, så bruk ==
. For eksempel, hvis en API godtar både "true"
og true
fra klienten, bruk ==
. Kort sagt, ikke bruk ==
med mindre du har en sterk brukstilfelle for det.
Her er en praktisk JavaScript-sannhetstabell for din referanse, og for å vise deg hvor komplisert likhet er i JavaScript:

Hvis du likte denne artikkelen, må du følge meg på Twitter for oppdateringer.
Spørsmål: Hvor mye plass frigjøres når Storbritannia forlater EU?
.
.
.
A: 1 GB # DevJoke #NotAJoke
- Shruti Kapoor (@ shrutikapoor08) 4. oktober 2019