Este posibil să fi văzut semne duble și triple egale în JavaScript. Dar ce înseamnă?
Ei bine, pe scurt: ==
convertește inerent tipul și ===
nu convertește tipul.
Dublu egal (==
) verifică numai egalitatea de valoare. Intră în mod inerent de constrângere. Aceasta înseamnă că, înainte de a verifica valorile, convertește tipurile de variabile pentru a se potrivi.
Pe de altă parte, Triple Equals (===
) nu efectuează constrângere de tip. Acesta va verifica dacă variabilele comparate au ambele aceeași valoare ȘI același tip.
OK – deci, să vă ajutăm să înțelegeți mai bine diferența prin câteva exemple. Pentru fiecare dintre acestea, luați în considerare rezultatul acestor afirmații.
Exemplul 1:
const foo = "test"
const bar = "test"
console.log(foo == bar) //true
console.log(foo === bar) //true
Valoarea și tipul ambelor foo
și bar
este la fel. Prin urmare, rezultatul este true
pentru amandoi.
Exemplul 2:
const number = 1234
const stringNumber="1234"
console.log(number == stringNumber) //true
console.log(number === stringNumber) //false
Valoarea a number
și stringNumber
arată similar aici. Cu toate acestea, tipul de number
este Number
și tipul de stringNumber
este string
. Chiar dacă valorile sunt aceleași, tipul nu este același. De aici a ==
verificați returnările true
, dar când se verifică valoarea și tip, valoarea este false
.
Exemplul 3:
console.log(0 == false) //true
console.log(0 === false) //false
Motiv: aceeași valoare, tip diferit. Tastați constrângerea
Acesta este un caz interesant. Valoarea a 0
când este verificat cu false
este la fel. Este așa pentru că 0
și false
au aceeași valoare pentru JavaScript, dar când se verifică tipul și valoare, valoarea este falsă deoarece 0
este un number
și false
este boolean
.
Exemplul 4:
const str = ""
console.log(str == false) //true
console.log(str === false) //false
Valoarea șirului gol și false
este același în JavaScript. Prin urmare, ==
revine adevărat. Cu toate acestea, tipul este diferit și, prin urmare ===
returnează fals.
Când ar trebui să utilizați ==
și când ar trebui să utilizați ===
?
Când aveți dubii, utilizați ===
. Acest lucru vă va scuti de o grămadă de potențiale erori.
Dacă susțineți un caz de utilizare în care puteți fi puțin îngăduitor cu privire la tipul de date primite, atunci utilizați ==
. De exemplu, dacă un API acceptă ambele "true"
și true
de la client, utilizați ==
. Pe scurt, nu folosiți ==
cu excepția cazului în care aveți un caz de utilizare puternic pentru acesta.
Iată un tabel de adevăr la îndemână JavaScript pentru referință și pentru a vă arăta cât de complicată este egalitatea în JavaScript:

Dacă ți-a plăcut acest articol, asigură-te că mă urmărești pe twitter pentru actualizări.
Î: Cât spațiu va fi eliberat după ce Marea Britanie va părăsi UE?
.
.
.– Shruti Kapoor (@ shrutikapoor08) 4 octombrie 2019