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

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

Αυτός ο οδηγός θα εξετάσει τη διαφορά μεταξύ μηδενικό και απροσδιόριστος τιμές στο JavaScript. Η γνώση της διαφοράς μεταξύ αυτών των δύο τιμών είναι σημαντική για τον εντοπισμό σφαλμάτων και τη δημιουργία κώδικα χωρίς σφάλματα.





πώς να διορθώσετε τη χρήση δίσκου 100% των Windows 10

Χρησιμοποιήστε την κονσόλα του προγράμματος περιήγησής σας για να ακολουθήσετε ή δοκιμάστε τα δείγματα κώδικα που περιγράφονται σε αυτόν τον οδηγό.





Σύγκριση ισότητας μηδενικών και απροσδιόριστων αξιών

Στο JavaScript, μηδενικό είναι μια πρωτόγονη τιμή που χρησιμοποιείται για να δηλώσει την σκόπιμη απουσία μιας τιμής αντικειμένου, ενώ απροσδιόριστος είναι μια πρωτόγονη τιμή που λειτουργεί ως σύμβολο κράτησης θέσης για μια μεταβλητή στην οποία δεν έχει εκχωρηθεί μια τιμή.





Μηδενικό και απροσδιόριστος οι τιμές είναι ίσες όταν συγκρίνονται χρησιμοποιώντας τον τελεστή ισότητας JavaScript.

Χρησιμοποιήστε τον τελεστή ισότητας ( == ) για σύγκριση αν μηδενικό και απροσδιόριστος οι τιμές είναι ίσες στο JavaScript.



Ανοίξτε την κονσόλα του προγράμματος περιήγησης και εισαγάγετε τον ακόλουθο κώδικα και, στη συνέχεια, πατήστε Εισαγω.

null == undefined

Η έξοδος θα πρέπει να σας δώσει κάτι που μοιάζει με αυτό, την επιστρεφόμενη boolean τιμή του αληθής σημαίνει απλώς ότι οι δύο τιμές είναι ίσες.





Μάθετε περισσότερα: Πώς να δηλώσετε μεταβλητές στο JavaScript

Αυστηρή Σύγκριση Ισότητας

Η JavaScript έχει επίσης τελεστή ταυτότητας ( === ), επίσης γνωστός ως χειριστής αυστηρής ισότητας εκτός από τον τελεστή ισότητας ( == )





Ο τελεστής ταυτότητας κάνει το παραπάνω χιλιόμετρο ελέγχοντας εάν ο υποκείμενος τύπος των τιμών που συγκρίνονται είναι ο ίδιος. Αυτό ουσιαστικά σημαίνει ότι παρόλο που δύο τιμές είναι ίσες, ενδέχεται να μην είναι ίδιες ή αυστηρά ίσες εάν οι υποκείμενοι τύποι τους είναι διαφορετικοί.

Για να δοκιμάσετε την αυστηρή ισότητα, χρησιμοποιήστε το τριπλό πρόσημο ισότητας όπως παρακάτω.

null === undefined

Το αποτέλεσμα της παραπάνω εντολής θα σας δώσει μια boolean τιμή του ψευδής , Με άλλα λόγια, οι δύο τιμές δεν είναι ταυτόσημες παρόλο που είναι ίσες.

Μάθετε τον τύπο του μηδενικού και απροσδιόριστου

Χρησιμοποιήστε την ενσωματωμένη συνάρτηση JavaScript τύπου() για να μάθετε τον υποκείμενο τύπο μιας τιμής. Η συνάρτηση λαμβάνει μια μόνο παράμετρο της τιμής της οποίας τον τύπο θέλετε να βρείτε.

Σχετίζεται με: Το τελικό φύλλο εξαπάτησης JavaScript

typeof(null)

Η μηδενική τιμή είναι τύπου αντικείμενο όπως μπορείτε να δείτε από την έξοδο παρακάτω.

Εκτέλεση παρόμοιας δοκιμής στο απροσδιόριστος η τιμή θα σας δώσει ένα αποτέλεσμα απροσδιόριστος Το

typeof(undefined)

Εργασία με αριθμούς

Για να εξερευνήσετε περισσότερες διαφορές, πραγματοποιήστε τη δοκιμή αριθμών μηδενικό και απροσδιόριστος αξίες. Εάν μια τιμή είναι ένας αριθμός, σημαίνει ότι μπορούμε να πραγματοποιήσουμε αριθμητικές πράξεις σε αυτόν.

Υπάρχουν δύο κύριοι τρόποι για να ελέγξετε εάν μια τιμή είναι ένας αριθμός στο JavaScript.

1. Χρησιμοποιώντας το isFinite () συνάρτηση — εάν η υπό δοκιμή τιμή είναι αριθμός, η συνάρτηση επιστρέφει αληθής ? αλλιώς επιστρέφει ψευδής Το

2. Χρησιμοποιώντας το isNaN () συνάρτηση — εάν η υπό δοκιμή τιμή είναι ένας αριθμός, τότε επιστρέφει ψευδής ? αλλιώς επιστρέφει αληθής Το

Σημείωση : είναιNaN είναι συντομογραφία «δεν είναι αριθμός».

Για να είναι τα πράγματα απλά, αυτός ο οδηγός θα χρησιμοποιήσει μόνο το isFinite () λειτουργία για να ελέγξετε εάν η τιμή είναι ένας αριθμός, αλλά μη διστάσετε να δοκιμάσετε επίσης το isNaN () λειτουργία. Και οι δύο αυτές συναρτήσεις λαμβάνουν την τιμή στην οποία θέλετε να εκτελέσετε τον έλεγχο αριθμού ως παράμετρο.

isFinite(null)

Το αποτέλεσμα είναι αληθής , νόημα μηδενικό είναι μια τιμή του τύπου αριθμός σε JavaScript. Ενώ, η διεξαγωγή της ίδιας δοκιμής στις απροσδιόριστος επιστρέφει ψευδής Το

isFinite(undefined)

Τύπος Αναγκασμός

Η JavaScript είναι μια χαλαρά δακτυλογραφημένη γλώσσα και γι 'αυτό, κατά τη διεξαγωγή μαθηματικών πράξεων, η JavaScript θα μετατρέψει αυτόματα το αποτέλεσμα σε έναν τύπο που θέλει.

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

Εκτελέστε την παρακάτω αριθμητική λειτουργία μηδενικό και απροσδιόριστος στην κονσόλα του προγράμματος περιήγησής σας.

1 + null 3 * null 1 + undefined 3 * undefined;

Όπως μπορείτε να δείτε, μπορείτε να πραγματοποιήσετε ορισμένες αριθμητικές πράξεις στο μηδενικό τιμή επειδή είναι ένας αριθμός που δεν έχει καμία τιμή. Επομένως, αντιμετωπίζεται σαν μηδέν. Λάβετε υπόψη ότι μηδενικό δεν είναι ίσο με μηδέν σε JavaScript, αλλά αντιμετωπίζεται κατά κάποιο τρόπο έτσι σε αυτή την περίπτωση.

Οι αριθμητικές πράξεις στο απροσδιόριστος αποτέλεσμα αξίας στην επιστροφή του NaN (Όχι Αριθμός) τιμή. Εάν δεν αντιμετωπιστεί προσεκτικά, θα μπορούσατε να το αντιμετωπίσετε κατά τη διάρκεια του χρόνου εκτέλεσης.

Αποφεύγοντας σφάλματα χρόνου εκτέλεσης

Μια καλή κατανόηση του μηδενικό και απροσδιόριστος Οι τιμές είναι ζωτικής σημασίας για την αποφυγή σφαλμάτων χρόνου εκτέλεσης στον κώδικα παραγωγής σας. Σφάλματα που σχετίζονται με απροσδιόριστος οι τιμές μπορεί να είναι δύσκολο να διορθωθούν και καλύτερα να αποφευχθούν.

Εξετάστε το ενδεχόμενο χρήσης TypeScript για κώδικα με έντονη πληκτρολόγηση που μεταγλωττίζεται σε JavaScript. Στο TypeScript ο κωδικός σας ελέγχεται κατά τη μεταγλώττιση για να ελαχιστοποιηθούν τα σφάλματα χρόνου εκτέλεσης στον κώδικα παραγωγής σας.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Σχετικά θέματα
  • Προγραμματισμός
  • JavaScript
  • Συμβουλές κωδικοποίησης
Σχετικά με τον Συγγραφέα Ετοιμος να φύγει(Δημοσιεύθηκαν 36 άρθρα)

Ο Mwiza αναπτύσσει λογισμικό στο επάγγελμα και γράφει εκτενώς σε Linux και προγραμματισμό front-end. Μερικά από τα ενδιαφέροντά του περιλαμβάνουν ιστορία, οικονομία, πολιτική & αρχιτεκτονική επιχειρήσεων.

Περισσότερα από τον Mwiza Kumwenda

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή