Επιστροφή στο blog

Λήψη αποφάσεων με τη χρήση της δήλωσης Switch στη Javascript

Λήψη αποφάσεων με τη χρήση της δήλωσης Switch στη Javascript

Εισαγωγή

Οι δηλώσεις υπό όρους είναι μία από τις πιο σημαντικές ροές ελέγχου σε οποιαδήποτε γλώσσα προγραμματισμού. Τις χρησιμοποιούμε για να καθορίσουμε τη συμπεριφορά της εκτέλεσης υπό κάποια συνθήκη. Στη Javascript, τα μπλοκ υπό όρους μπορούν να κατασκευαστούν χρησιμοποιώντας if, else if, else, και switch δηλώσεις.

Η δήλωση switch καθιστά τη ροή ελέγχου εύκολη στην ανάγνωση, λαμβάνοντας την απόφαση έναντι ορισμένων πιθανών αποτελεσμάτων της έκφρασης. Ανάλογα με την περίπτωση χρήσης που ταιριάζει, μπορούν να εκτελεστούν ένα ή περισσότερα μπλοκ κώδικα. Ο έλεγχος switch είναι παρόμοιος με τη δήλωση else if. Ωστόσο, η switch είναι πιο ευανάγνωστη όσον αφορά τη σύνταξη. Είναι επίσης ιδανική για σενάρια με πολλαπλά πιθανά αποτελέσματα.

Σε αυτόν τον οδηγό, θα επικεντρωθούμε στη δήλωση switch στη Javascript και θα την εφαρμόσουμε για να δημιουργήσουμε σύνθετες δομές ελέγχου. Θα μάθουμε επίσης πώς να χρησιμοποιούμε τις δηλώσεις break , case, και default δηλώσεις μέσα στο μπλοκ switch για να κατευθύνουμε τη ροή του ελέγχου.

Χρήση της δήλωσης Switch

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

Παρακάτω υπάρχει ένα παράδειγμα της δήλωσης switch. Έχει δύο περιπτώσεις ή δύο πιθανά αποτελέσματα μαζί με μια εναλλακτική επιλογή που καθορίζεται από τη λέξη-κλειδί default. Αυτή η εναλλακτική επιλογή εκτελείται όταν ολοκληρωθεί η εκτέλεση ή όταν δεν βρεθεί αντίστοιχη περίπτωση:

Ο παραπάνω κώδικας εκτελείται ως εξής:

  1. Πρώτον, αξιολογείται η έκφραση.

  2. Στη συνέχεια, το αποτέλεσμα της έκφρασης συγκρίνεται με την case x. Εάν η τιμή ταιριάζει, εκτελείται το μπλοκ κώδικα κάτω από την case x .

  3. Εάν η έκφραση δεν ταιριάζει με την case x, τότε συγκρίνεται η case y. Εάν βρεθεί αντιστοιχία, τότε εκτελείται ο κώδικας της case y .

  4. Τέλος, εάν ούτε η case x ούτε η case y ταιριάζουν, τότε εκτελείται ο κώδικας της default και ο έλεγχος βγαίνει έξω από το μπλοκ switch .

Πρακτικό παράδειγμα

Για να κατανοήσουμε τη δήλωση switch, ας ρίξουμε μια ματιά σε ένα πρακτικό παράδειγμα. Θα εξαγάγουμε την τιμή της ημέρας της εβδομάδας για την τρέχουσα ημερομηνία, χρησιμοποιώντας τη μέθοδο getDay() του αντικειμένου Date της Javascript. Αυτή η τιμή είναι ένας αριθμός, για την Κυριακή έως και 6 που είναι για το Σάββατο. Θα την αξιολογήσουμε έναντι των τιμών για να προσδιορίσουμε ποια ημέρα της εβδομάδας είναι:

Στη συνέχεια, θα στείλουμε αυτήν την τιμή στη δήλωση switch. Η δήλωση switch θα εκτελεστεί από πάνω προς τα κάτω για να την αντιστοιχίσει με τις περιπτώσεις ώστε να προσδιορίσει ποια ημέρα της εβδομάδας είναι. Μόλις βρεθεί η περίπτωση, η εντολή break θα σταματήσει το μπλοκ switch από το να συνεχίσει να αξιολογεί δηλώσεις:

Ανάλογα με την τιμή που επιστρέφεται από τη getDate() μέθοδο, θα ελέγχεται με τις περιπτώσεις μία προς μία, ξεκινώντας από την κορυφή. Το αποτέλεσμα θα είναι διαφορετικό ανάλογα με την ημέρα που εκτελέσατε τον κώδικα. Το προεπιλεγμένο μπλοκ κώδικα (default) τοποθετείται έτσι ώστε αν δεν ταιριάζει καμία περίπτωση, να μπορούμε να διαχειριστούμε αυτό το σενάριο. Ωστόσο, εδώ σε αυτόν τον κώδικα, το default δεν θα κληθεί ποτέ, καθώς υπάρχει μόνο ένας περιορισμένος αριθμός ημερών της εβδομάδας.

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

Έλεγχος έναντι εύρους τιμών στη Switch

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

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

  • Βαθμός 90 και άνω είναι A

  • Βαθμός από 80 έως 89 είναι B

  • Βαθμός από 70 έως 79 είναι C

  • Βαθμός από 60 έως 69 είναι D

  • Βαθμός 59 ή κάτω είναι F

Θα γράψουμε αυτές τις δηλώσεις ως δηλώσεις switch. Παρακάτω είναι ο κώδικας για αυτό:

Σε αντίθεση με τα παραπάνω παραδείγματα κώδικα, εδώ έχουμε ορίσει την έκφραση στην παρένθεση ως true. Επομένως, όποια δήλωση case ταιριάζει με την τιμή true, θα εκτελεστεί. Ακριβώς όπως η δήλωση else if, η πρώτη δήλωση που ταιριάζει με την καθορισμένη τιμή θα εκτελεστεί. Εδώ το αποτέλεσμα θα είναι B, παρά το γεγονός ότι ακόμα και τα C και D ταιριάζουν επίσης με την έκφραση.

Πολλαπλές περιπτώσεις

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

Για να εικονογραφήσουμε αυτή την έννοια, θα παρέχουμε ένα παράδειγμα με τους μήνες του έτους. Θα κατηγοριοποιήσουμε αυτούς τους μήνες στις εποχές του έτους. Αρχικά, θα χρησιμοποιήσουμε τη νέα μέθοδο Date() για να βρούμε έναν αριθμό που αντιστοιχεί στον τρέχοντα μήνα και να τον εφαρμόσουμε στη μεταβλητή month. Η μέθοδος Date().getMonth() επιστρέφει έναν αριθμό από 0  έως 11, με το 0 να είναι ο Ιανουάριος και το 11 να αντιστοιχεί στον Δεκέμβριο.

Θα κάνουμε την κατηγοριοποίηση χρησιμοποιώντας τις παρακάτω προδιαγραφές:

  • Χειμώνας: Ιανουάριος, Φεβρουάριος και Μάρτιος

  • Άνοιξη: Απρίλιος, Μάιος και Ιούνιος

  • Καλοκαίρι: Ιούλιος, Αύγουστος και Σεπτέμβριος

  • Φθινόπωρο: Οκτώβριος, Νοέμβριος και Δεκέμβριος

Δείτε πώς θα μοιάζει ο κώδικας:

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

Συμπέρασμα

Σε αυτόν τον οδηγό, δείξαμε πώς να χρησιμοποιήσετε τη δήλωση switch σε εφαρμογές Javascript. Εφαρμόσαμε επίσης τη δήλωση switch σε ένα εύρος τιμών και σε πολλαπλές περιπτώσεις μαζί με τη λέξη-κλειδί default. Αν θέλετε να μάθετε περισσότερα για τη Javascript, μπορείτε να δείτε τους ακόλουθους οδηγούς:

Καλό προγραμματισμό!

author

Shreyas Patil

Συγγραφέας · CloudSigma

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

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.