=== (egalitate strictă) compară valoarea și tipul fără conversie. == (egalitate slabă) efectuează coerția de tip mai întâi, ceea ce duce la rezultate surprinzătoare.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (egalitate strictă) compară valoarea și tipul fără conversie. == (egalitate slabă) efectuează coerția de tip mai întâi, ceea ce duce la rezultate surprinzătoare.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
O bibliotecă de întrebări de interviu IT cu răspunsuri detaliate — de la Junior la Senior.
DoneazăRegulile coerciei nu sunt evidente și duc la bugs. De exemplu, [] == ![] este true (o particularitate notorie). Rareori dorești ca JavaScript să convertească în tăcere tipuri în spatele tău în timp ce faci o comparație.
Folosește mereu === (și !==). Singura excepție comună și intenționată este verificarea null sau undefined împreună:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Pentru tot ceea ce altceva, egalitatea strictă păstrează comparațiile previzibile. Pentru a compara obiecte ai nevoie de o verificare de egalitate profundă (se compară după referință, deci {a:1} === {a:1} este false).