=== (griežta lygybė) lygina vertę ir tipą be konversijos. == (negriežta lygybė) pirmiausiai atlieka tipo konversiją, dėl kurios gaunami netikėti rezultatai.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (griežta lygybė) lygina vertę ir tipą be konversijos. == (negriežta lygybė) pirmiausiai atlieka tipo konversiją, dėl kurios gaunami netikėti rezultatai.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Konversijos taisyklės nėra akivaizdžios ir sukelia klaidas. Pavyzdžiui, [] == ![] yra true (garsus keistenybės atvejis). Jūs retai norite, kad JavaScript tyliai konvertuotų tipus lyginimo metu.
Visada naudokite === (ir !==). Vienintelė bendra, sąmoninga išimtis yra null arba undefined patikra kartu:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Viskam kitam griežta lygybė padarо lyginimą numatymu. Norėdami palyginti objektus, turite atlikti gilią lygybės patikrą (jie lyginami pagal nuorodą, todėl {a:1} === {a:1} yra false).