Ομαδοποιητικές παρενθέσεις στην JavaScript

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

javascriptlet a = 2 * (2 + 3);
alert(a); // εμφανίζει 10 (αποτέλεσμα 2 * 5)

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

javascriptlet a = 2 * (2 + 4 * (3 + 1));
alert(a);

Μπορούμε να βάλουμε σε παρένθεση πράξεις που έχουν υψηλή προτεραιότητα - αυτό δεν θα είναι λάθος. Για παράδειγμα, ας βάλουμε σε παρένθεση το γινόμενο των αριθμών:

javascriptlet a = (2 * 2) + 3;
alert(a); // εμφανίζει 7 (αποτέλεσμα 4 + 3)

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

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

javascriptlet a = 8 / 2 * 4;
alert(a);

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

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

javascriptlet a = (8 / 2) * 4;
alert(a);
Задание 1

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = (2 + 3) * (2 + 3);
alert(a);
Задание 2

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = (2 + 3) * 2 + 3;
alert(a);
Задание 3

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = 2 * (2 + 4 * (3 + 1));
alert(a);
Задание 4

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = 2 * 8 / 4;
alert(a);
Задание 5

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = (2 * 8) / 4;
alert(a);
Задание 6

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

javascriptlet a = 2 * (8 / 4);
alert(a);