Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ == και === στη JavaScript;

sobes.tech AI

Απάντηση από AI

Ο τελεστής == (χαλαρή ισότητα) πραγματοποιεί μετατροπή τύπων των τελεστών πριν από τη σύγκριση.

Ο τελεστής === (ακριβής ισότητα) δεν πραγματοποιεί μετατροπή τύπων. Συγκρίνει και τις τιμές και τους τύπους των τελεστών.

// Παραδείγματα ==
console.log(5 == '5');   // true (η συμβολοσειρά '5' μετατρέπεται σε αριθμό 5)
console.log(true == 1);    // true (ο αριθμός 1 μετατρέπεται σε true)
console.log(null == undefined); // true (ειδικός κανόνας)

// Παραδείγματα ===
console.log(5 === '5');  // false (ο τύπος number δεν είναι ίσος με τον τύπο string)
console.log(true === 1);   // false (ο τύπος boolean δεν είναι ίσος με τον τύπο number)
console.log(null === undefined); // false (ο τύπος null δεν είναι ίσος με τον τύπο undefined)

Η χρήση του === προτιμάται στις περισσότερες περιπτώσεις, καθώς είναι πιο προβλέψιμο και αποφεύγει ασαφή συμπεριφορά που σχετίζεται με τη μετατροπή τύπων.