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 fooog barer samme. Derfor er resultatet truefor begge.

Eksempel 2: ‌

const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false 

Verdien av numberog stringNumberser lik ut her. Men hvilken type numberer Numberog type stringNumberIS 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 0når den sjekkes med falseer den samme. Det er fordi 0og falsehar samme verdi for JavaScript, men når det er sjekket for type og verdi, er verdien falsk fordi den 0er numberog falseer boolean.

Eksempel 4:

const str = "" console.log(str == false) //true console.log(str === false) //false

Verdien av tom streng og falseer 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 truefra 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