ΕΝΟΤΗΤΑ 9 – Conditions Και Loops Στην JavaScript (Part 2)
Στην
προηγούμενη ενότητα μιλήσαμε για το if
else και πως μπορούμε να το εφαρμόσουμε
στον κώδικα μας όταν έχουμε ανάγκη να
ελέγξουμε περισσότερες από μια συνθήκη.
Εάν όμως καταλήξουμε να χρησιμοποιήσουμε
πάρα πολλά lf else ίσως το
switch να είναι μια καλύτερη
λύση.
Ας δούμε ένα ολοκληρωμένο παράδειγμα
και θα εξηγήσουμε αμέσως μετά πως
λειτουργεί
Ορίζουμε
λοιπόν εξ αρχής μια μεταβλητή a
και της αναθέτουμε το String
1 (όχι τον αριθμό 1.) και μετά ορίζουμε
μια δεύτερη μεταβλητή με το όνομα result
η οποία θα λάβει την τελική της τιμή
από το αποτέλεσμα της σύγκρισης που θα
κάνει το switch.
To
switch ορίζεται με την λέξη κλειδί
switch και αμέσως μετά
ακολουθεί η μεταβλητή για την οποία θα
κάνουμε διάφορους ελέγχους ανάλογα με
τους κανόνες που έχουμε ορίσει μέσα στο
switch. Μέσα στην παρένθεση
που ακολουθεί το switch βάζουμε
την μεταβλητή που θέλουμε να ελέγξουμε.
Προσέξτε δεν βάζουμε συνθήκη εδώ αλλά
μια μεταβλητή που ξέρουμε ακριβώς ποια
είναι η τιμή της.
Μέσα
λοιπόν σε άγκιστρα ( { } ) ξεκινάμε μια
σειρά από ελέγχους που ορίζονται από
την λέξη case. Κάθε case
ακολουθείται και από μια τιμή την
οποία συγκρίνουμε με αυτή που έχει η
μεταβλητή που βάλαμε μέσα στην παρένθεση
του Switch στην αρχή. Εάν η
μεταβλητή περιέχει την τιμή για την
οποία κάνουμε τον έλεγχο, τότε αμέσως
μετά από το colon ( : ) οτιδήποτε
κώδικα έχουμε γράψει θα εκτελεστεί.
Νομίζω ότι είναι πολύ φανερό πως κάνουμε
ελέγχους με το case. Γράφουμε
είτε αριθμούς είτε string που
ίσως περιέχει η μεταβλητή και colon
( : ).
Θα
παρατηρήσετε ότι μέσα σε κάθε case,
η ολοκλήρωση εκτέλεσης του κώδικα
του περιέχει την λέξη κλειδί break.
Αν και η χρήση του break
είναι προαιρετική, δίνει όμως την
απαραίτητη λειτουργικότητα που ζητάμε
στον κώδικα μας - όταν εκτελεστεί ο
κώδικας του εκάστοτε case, το
break θα βοηθήσει το πρόγραμμα
μας να σταματήσει να “ασχολείται” με
το switch και να συνεχίσει
με το υπόλοιπο πρόγραμμα της εφαρμογής.
Με άλλα λόγια όταν μια από τις συνθήκες
του switch βγει true,
τότε θα εκτελεστεί ο κώδικας του
εκάστοτε case, και με το
break το πρόγραμμα θα
μεταπηδήσει έξω από το switch
για να συνεχίσει την εκτέλεση του
υπόλοιπου προγράμματος.
Όπως
και στο if else έτσι και στο
switch, για να μπορέσουμε να
καλύψουμε οποιαδήποτε άλλη συνθήκη για
την οποία δεν έχουμε κάνει έλεγχο
μπορούμε να χρησιμοποιήσουμε την λέξη
κλειδί default. Με αυτό τον
τρόπο είμαστε σίγουροι ότι το πρόγραμμα
μας σίγουρα θα περάσει από το switch
είτε γιατί βγήκε true κάποια
από τις συνθήκες για τις οποίες κάναμε
έλεγχο είτε γιατί ενεργοποιήθηκε το
default για οποιαδήποτε άλλη
συνθήκη για την οποία δεν ελέγξαμε.
Προσέξτε
λίγο με το break. Αν ξεχάσετε
να το βάλετε τότε ο κώδικας θα εκτελέσει
το case για το οποίο βγήκε
true η συνθήκη αλλά θα
συνεχίσει και θα εκτελέσει και τον
κώδικα του επόμενου case. Αν
και αυτό δεν έχει break τότε
θα συνεχίσει να εκτελεί και τον κώδικα
και του επόμενου case μέχρι
να φτάσει στο default. Πολλές
φορές η παράλειψη ενός break
είναι εσκεμμένη εάν θέλουμε να
εκτελεστεί ο ίδιος κώδικας για περισσότερα
από ένα case.
Μιχάλης
Κασάπογλου