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)
Η χρήση του === προτιμάται στις περισσότερες περιπτώσεις, καθώς είναι πιο προβλέψιμο και αποφεύγει ασαφή συμπεριφορά που σχετίζεται με τη μετατροπή τύπων.