Skip to main content

Δομές Επιλογής

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

Οι δομές επιλογής στην 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'.

tip

Μπορούμε επίσης να ομαδοποιήσουμε πολλά 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