=== (αυστηρή ισότητα) συγκρίνει την τιμή και τον τύπο χωρίς μετατροπή. == (χαλαρή ισότητα) πρώτα εκτελεί type coercion, το οποίο οδηγεί σε εκπληκτικά αποτελέσματα.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (αυστηρή ισότητα) συγκρίνει την τιμή και τον τύπο χωρίς μετατροπή. == (χαλαρή ισότητα) πρώτα εκτελεί type coercion, το οποίο οδηγεί σε εκπληκτικά αποτελέσματα.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
Οι κανόνες μετατροπής δεν είναι προφανείς και οδηγούν σε σφάλματα. Για παράδειγμα, [] == ![] είναι true (μια臭 ιδιορρυθμία). Σπάνια θέλετε τη JavaScript να μετατρέπει σιωπηλά τύπους πίσω από την πλάτη σας κατά τη σύγκριση.
Χρησιμοποιήστε πάντα === (και !==). Η μόνη συνηθισμένη, σκόπιμη εξαίρεση είναι η έλεγχος για null ή undefined μαζί:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
Για όλα τα άλλα, η αυστηρή ισότητα διατηρεί τις συγκρίσεις προβλέψιμες. Για να συγκρίνετε αντικείμενα χρειάζεστε έναν έλεγχο deep-equality (συγκρίνουν κατά αναφορά, γι' αυτό {a:1} === {a:1} είναι false).