Δομές Επιλογής
Οι δομές επιλογής είναι ένας τρόπος να ελέγχουμε την ροή του προγράμματος μας. Με την χρήση τους μπορούμε να ελέγξουμε αν μια συνθήκη είναι αληθής ή ψευδής και να εκτελέσουμε κώδικα ανάλογα με το αποτέλεσμα.
Οι δομές επιλογής στην JavaScript είναι οι εξής:
Η δομή "if"
Η δομή if
είναι η πιο βασική δομή επιλογής. Με την χρήση της μπορούμε να ελέγξουμε αν μια συνθήκη είναι αληθής και να εκτελέσουμε κώδικα ανάλογα με το αποτέλεσμα.
Η σύνταξη της δομής if
είναι η εξής:
if (συνθήκη) {
// Κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής
}
Παράδειγμα:
let x = 10;
if (x > 5) {
console.log('Το x είναι μεγαλύτερο από το 5');
}
Στο παραπάνω παράδειγμα, ο κώδικας που βρίσκεται μέσα στην δομή if
θα εκτελεστεί επειδή η συνθήκη x > 5
είναι αληθής.
Η δομή "if-else"
Η δομή if-else
είναι μια επέκταση της δομής if
. Με την χρήση της μπορούμε να εκτελέσουμε κώδικα αν μια συνθήκη είναι αληθής και κώδικα αν η συνθήκη είναι ψευδής.
Η σύνταξη της δομής if-else
είναι η εξής:
if (συνθήκη) {
// Κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής
} else {
// Κώδικας που θα εκτελεστεί αν η συνθήκη είναι ψευδής
}
Παράδειγμα:
let x = 10;
if (x > 5) {
console.log('Το x είναι μεγαλύτερο από το 5');
} else {
console.log('Το x δεν είναι μεγαλύτερο από το 5');
}
Στο παραπάνω παράδειγμα, ο κώδικας που βρίσκεται μέσα στην δομή if
θα εκτελεστεί επειδή η συνθήκη x > 5
είναι αληθής.
Η δομή "if-else if-else"
Η δομή if-else if-else
είναι μια επέκταση της δομής if-else
. Με την χρήση της μπορούμε να ελέγξουμε πολλές συνθήκες και να εκτελέσουμε κώδικα ανάλογα με το αποτέλεσμα.
Η σύνταξη της δομής if-else if-else
είναι η εξής:
if (συνθήκη1) {
// Κώδικας που θα εκτελεστεί αν η συνθήκη1 είναι αληθής
} else if (συνθήκη2) {
// Κώδικας που θα εκτελεστεί αν η συνθήκη2 είναι αληθής
} else {
// Κώδικας που θα εκτελεστεί αν καμία από τις παραπάνω συνθήκες δεν είναι αληθείς
}
Παράδειγμα:
let x = 10;
if (x > 5) {
console.log('Το x είναι μεγαλύτερο από το 5');
} else if (x < 5) {
console.log('Το x είναι μικρότερο από το 5');
} else {
console.log('Το x είναι ίσο με το 5');
}
Στο παραπάνω παράδειγμα, ο κώδικας που βρίσκεται μέσα στην δομή if
θα εκτελεστεί επειδή η συνθήκη x > 5
είναι αληθής.
Η δομή "switch"
Η δομή switch
είναι μια δομή επιλογής που μας επιτρέπει να ελέγξουμε μια μεταβλητή και να εκτελέσουμε κώδικα ανάλογα με την τιμή της.
Η σύνταξη της δομής switch
είναι η εξής:
switch (μεταβλητή) {
case τιμή1:
// Κώδικας που θα εκτελεστεί αν η τιμή της μεταβλητής είναι τιμή1
break;
case τιμή2:
// Κώδικας που θα εκτελεστεί αν η τιμή της μεταβλητής είναι τιμή2
break;
default:
// Κώδικας που θα εκτελεστεί αν η τιμή της μεταβλητής δεν είναι ούτε τιμή1 ούτε τιμή2
}
Το λεκτικό case
χρησιμοποιείται για να ορίσουμε τις τιμές που θέλουμε να ελέγξουμε και το λεκτικό default
χρησιμοποιείται για να ορίσουμε τον κώδικα που θα εκτελεστεί αν καμία από τις παραπάνω τιμές δεν είναι αληθείς.
Η εντολή break
χρησιμοποιείται για να σταματήσει η εκτέλεση του κώδικα μέσα στην δομή switch
. Θα την ξαναδούμε στο επόμενο κεφάλαιο στις επαναλήψεις.
Παράδειγμα:
let day = 'Monday';
switch (day) {
case 'Monday':
console.log('Δευτέρα');
break;
case 'Tuesday':
console.log('Τρίτη');
break;
default:
console.log('Άλλη μέρα');
}
Στο παραπάνω παράδειγμα, ο κώδικας που βρίσκεται μέσα στην δομή switch
θα εκτελεστεί επειδή η τιμή της μεταβλητής day
είναι 'Monday'
.
Μπορούμε επίσης να ομαδοποιήσουμε πολλά case
μεταξύ τους:
let day = 'Monday';
switch (day) {
case 'Monday':
case 'Tuesday':
case 'Wednesday':
case 'Thursday':
case 'Friday':
console.log('Εργάσιμη μέρα');
break;
case 'Saturday':
case 'Sunday':
console.log('Σαββατοκύριακο');
break;
default:
console.log('Άλλη μέρα');
}
Στο παραπάνω παράδειγμα, οι τιμές 'Monday'
, 'Tuesday'
, 'Wednesday'
, 'Thursday'
και 'Friday'
θα εκτελέσουν τον ίδιο κώδικα που βρίσκεται μέσα στο πρώτο case
.
Τελεστής Τριών Σημείω ν (Ternary Operator)
Ο τελεστής τριών σημείων είναι ένας τελεστής που μας επιτρέπει να γράψουμε συντομότερα δομές επιλογής.
Η σύνταξη του τελεστή τριών σημείων είναι η εξής:
συνθήκη ? τιμή1 : τιμή2;
// ισοδύναμο με
if (συνθήκη) {
τιμή1;
} else {
τιμή2;
}
Παράδειγμα:
let x = 10;
let result = x > 5 ? true : false;
console.log(result); // true