Mitä eroa on vertailuoperaattoreilla ”==” ja ”===” JavaScriptissä?
KoodaaminenJavaScriptissä ==
ja ===
ovat vertailuoperaattoreita, mutta niillä on merkittävä ero.
Löysempi vertailuoperaattori ”==”
- Tämä vertailuoperaattori vertailee arvoja löysemmin.
- Se suorittaa automaattisen tyyppimuunnoksen tarvittaessa ennen vertailua.
- Esimerkiksi, jos vertaillaan merkkijonoa ja numeroa, == yrittää kyseinen vertailuoperaattori muuntaa ne samaksi tyypiksi ennen vertailua.
Esimerkki:
if ('5' == 5) {
console.log('onnistui');
} else {
console.log('epäonnistui');
}
Palauttaa ”onnistui”, koska ’5’ muunnetaan numeroksi ennen vertailua.
Tiukempi vertailuoperaattori ”===”
- Tämä vertailuoperaattori vertailee arvoja tiukemmin.
- Se tarkistaa sekä arvon, että tyypin, eikä suorita automaattista tyyppimuunnosta.
- Esimerkiksi, jos vertaillaan merkkijonoa ja numeroa, === ei kyseinen vertailuoperaattori yritä muuntaa niitä samaksi tyypiksi.
Esimerkki:
if ('5' === 5) {
console.log('onnistui');
} else {
console.log('epäonnistui');
}
Palauttaa ”epäonnistui”, koska vertailun kohteena olevat ovat eri tyyppejä.
Suositeltavaa on käyttää vertailuoperaattorina === koska tällöin virheelliset vertailutulokset vähenee.
Näyttää siltä, että sinulla on mahdollisuus olla ensimmäinen kommentoija! Jäikö jotain kysyttävää artikkelista tai haluatko antaa palautetta? Jätä kommentti ja aloita kekustelu.
Kommentit