Αυτός ο οδηγός θα εξετάσει τη διαφορά μεταξύ μηδενικό και απροσδιόριστος τιμές σε JavaScript. Η γνώση της διαφοράς μεταξύ αυτών των δύο τιμών είναι σημαντική για τον εντοπισμό σφαλμάτων και τη δημιουργία κώδικα χωρίς σφάλματα.
Χρησιμοποιήστε την κονσόλα του προγράμματος περιήγησής σας για να ακολουθήσετε ή να δοκιμάσετε τα δείγματα κώδικα που αναφέρονται σε αυτόν τον οδηγό.
Συγκρίνοντας την ισότητα μηδενικών και μη καθορισμένων τιμών
Σε JavaScript, μηδενικό είναι μια πρωτόγονη τιμή που χρησιμοποιείται για να δηλώσει την εσκεμμένη απουσία μιας αξίας αντικειμένου, ενώ απροσδιόριστος είναι μια αρχική τιμή που λειτουργεί ως σύμβολο κράτησης θέσης για μια μεταβλητή που δεν έχει εκχωρηθεί τιμή.
Μηδενικό και απροσδιόριστος Οι τιμές είναι ίσες όταν συγκρίνονται χρησιμοποιώντας τον τελεστή ισότητας JavaScript.
Χρησιμοποιήστε τον τελεστή ισότητας (==για να συγκρίνετε εάν μηδενικό και απροσδιόριστος οι τιμές είναι ίσες στο JavaScript.
Ανοίξτε την κονσόλα του προγράμματος περιήγησής σας και εισαγάγετε τον ακόλουθο κωδικό και, στη συνέχεια, πατήστε Εισαγω.
null == απροσδιόριστο
Η έξοδος θα σας δώσει κάτι που μοιάζει με αυτό, την επιστρεφόμενη δυαδική τιμή του αληθής απλά σημαίνει ότι οι δύο τιμές είναι ίσες.
Μάθε περισσότερα: Πώς να δηλώσετε μεταβλητές σε JavaScript
Αυστηρή σύγκριση ισότητας
Το JavaScript έχει επίσης χειριστή ταυτότητας (), επίσης γνωστός ως φορέας αυστηρής ισότητας εκτός από τον φορέα ισότητας (==)
Ο χειριστής ταυτότητας καταβάλλει κάθε προσπάθεια ελέγχοντας εάν ο υποκείμενος τύπος των τιμών που συγκρίνονται είναι ο ίδιος. Αυτό ουσιαστικά σημαίνει ότι παρόλο που δύο τιμές είναι ίσες, ενδέχεται να μην είναι πανομοιότυπες ή αυστηρά ίδιες εάν οι βασικοί τύποι τους είναι διαφορετικοί.
Για να ελέγξετε για αυστηρή ισότητα, χρησιμοποιήστε το σύμβολο τριπλού ίσου όπως παρακάτω.
μηδενικό απροσδιόριστο
Το αποτέλεσμα της παραπάνω εντολής θα σας δώσει μια δυαδική τιμή ψευδήςΜε άλλα λόγια, οι δύο τιμές δεν είναι ίδιες παρόλο που είναι ίδιες.
Ανακαλύπτοντας τον τύπο του Null και του Απροσδιόριστου
Χρησιμοποιήστε την ενσωματωμένη συνάρτηση JavaScript τύπου() για να μάθετε τον υποκείμενο τύπο μιας τιμής. Η συνάρτηση λαμβάνει μία μόνο παράμετρο της τιμής του τύπου που θέλετε να βρείτε.
Σχετιζομαι με: Το απόλυτο φύλλο εξαπάτησης JavaScript
τύπος (μηδέν)
Η μηδενική τιμή είναι τύπου αντικείμενο όπως μπορείτε να δείτε από την έξοδο παρακάτω.
Εκτελεί μια παρόμοια δοκιμή στο απροσδιόριστος η τιμή θα σας δώσει αποτέλεσμα απροσδιόριστος.
typeof (ακαθόριστο)
Εργασία με αριθμούς
Για να εξερευνήσετε περισσότερες διαφορές, πραγματοποιήστε τη δοκιμή αριθμών μηδενικό και απροσδιόριστος αξίες. Εάν μια τιμή είναι ένας αριθμός, αυτό σημαίνει ότι μπορούμε να πραγματοποιήσουμε αριθμητικές λειτουργίες σε αυτόν.
Υπάρχουν δύο βασικοί τρόποι για να ελέγξετε εάν μια τιμή είναι ένας αριθμός σε JavaScript.
1. Χρησιμοποιώντας το isFinite () συνάρτηση — εάν η υπό δοκιμή τιμή είναι αριθμός, η συνάρτηση επιστρέφει αληθής; αλλιώς επιστρέφει ψευδής.
2. Χρησιμοποιώντας το isNaN () συνάρτηση — εάν η υπό δοκιμή τιμή είναι ένας αριθμός, τότε επιστρέφει ψευδήςαλλιώς επιστρέφει αληθής.
Σημείωση: είναιNaN είναι συντομογραφία για "δεν είναι αριθμός".
Για να διατηρήσετε τα πράγματα απλά, αυτός ο οδηγός θα χρησιμοποιεί μόνο το isFinite () λειτουργία για να ελέγξετε εάν η τιμή είναι ένας αριθμός, αλλά μπορείτε επίσης να δοκιμάσετε το isNaN () λειτουργία. Και οι δύο αυτές λειτουργίες λαμβάνουν την τιμή στην οποία θέλετε να εκτελέσετε τη δοκιμή αριθμού ως παράμετρο.
isFinite (μηδέν)
Το αποτέλεσμα είναι αληθής, νόημα μηδενικό είναι μια τιμή του τύπου αριθμός σε JavaScript. Ενώ η διεξαγωγή της ίδιας δοκιμής στις απροσδιόριστος επιστρέφει ψευδής.
isFinite (ακαθόριστο)
Τύπος εξαναγκασμού
Το JavaScript είναι μια χαλαρά δακτυλογραφημένη γλώσσα και εξαιτίας αυτού, κατά τη διεξαγωγή μαθηματικών λειτουργιών, το JavaScript θα μετατρέψει αυτόματα το αποτέλεσμα σε τύπο που θέλει.
Δυστυχώς, αυτή η αυτόματη μετατροπή, η οποία συνήθως αναφέρεται ως εξαναγκασμός τύπου, μπορεί να φέρει πολλές εκπλήξεις μαζί της.
Εκτελέστε την ακόλουθη αριθμητική λειτουργία μηδενικό και απροσδιόριστος στην κονσόλα του προγράμματος περιήγησής σας.
1 + μηδέν
3 * μηδέν
1 + απροσδιόριστο
3 * απροσδιόριστο.
Όπως μπορείτε να δείτε, μπορείτε να πραγματοποιήσετε ορισμένες αριθμητικές λειτουργίες στο μηδενικό τιμή επειδή είναι ένας αριθμός που δεν έχει καμία τιμή. Επομένως, αντιμετωπίζεται ως μηδέν. Σημειώστε ότι μηδενικό δεν είναι ίσο με μηδέν σε JavaScript, αλλά κατά κάποιο τρόπο αντιμετωπίζεται έτσι σε αυτήν την περίπτωση.
Οι αριθμητικές πράξεις στο απροσδιόριστος αποτέλεσμα αποτέλεσμα επιστροφής του ΝΑΝ (Όχι αριθμός). Εάν δεν αντιμετωπιστεί προσεκτικά, θα μπορούσατε να το αντιμετωπίσετε κατά τη διάρκεια του χρόνου εκτέλεσης.
Αποφυγή σφαλμάτων χρόνου εκτέλεσης
Μια καλή κατανόηση του μηδενικό και απροσδιόριστος Οι τιμές είναι ζωτικής σημασίας για την αποφυγή σφαλμάτων χρόνου εκτέλεσης στον κώδικα παραγωγής σας. Σφάλματα που σχετίζονται με απροσδιόριστος Οι τιμές μπορεί να είναι δύσκολο να εντοπιστούν και να αποφεύγονται καλύτερα.
Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε TypeScript για έντονα πληκτρολογημένο κώδικα που μεταγλωττίζεται σε JavaScript. Στο TypeScript ο κώδικάς σας ελέγχεται κατά τη στιγμή της μεταγλώττισης για την ελαχιστοποίηση σφαλμάτων χρόνου εκτέλεσης στον κώδικα παραγωγής σας.
- Προγραμματισμός
- JavaScript
- Συμβουλές κωδικοποίησης
Η Mwiza αναπτύσσει λογισμικό επάγγελμα και γράφει εκτενώς σε Linux και προγραμματισμό front-end. Μερικά από τα ενδιαφέροντά του περιλαμβάνουν την ιστορία, τα οικονομικά, την πολιτική και την αρχιτεκτονική των επιχειρήσεων.
Εγγραφείτε στο Newsletter μας
Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Ένα ακόμη βήμα…!
Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.