⊗jsPmBsPPT 60 of 505 menu

Προθεματικός και Μεταθεματικός Τύπος στη JavaScript

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

Στον πρώτο τρόπο, η πράξη γράφεται μετά από το όνομα της μεταβλητής, έτσι: a++, ενώ στον δεύτερο τρόπο - πριν από το όνομα της μεταβλητής, έτσι: ++a.

Η πρώτη μορφή ονομάζεται μεταθεματική, ενώ η δεύτερη - προθεματική. Ας δούμε σε ποιες περιπτώσεις εμφανίζεται η διαφορά μεταξύ αυτών των δύο μορφών.

Ας υποθέσουμε ότι έχουμε τον κώδικα alert(a++) και τον κώδικα alert(++a).

Στην περίπτωση του alert(a++) η μεταβλητή πρώτα εμφανίζεται και μετά αυξάνεται κατά ένα, ενώ στην περίπτωση του alert(++a) η μεταβλητή πρώτα αυξάνεται κατά ένα και μετά εμφανίζεται.

Στο επόμενο παράδειγμα, το πρώτο alert θα εμφανίσει 0, καθώς στην αρχή θα εκτελεστεί η εμφάνιση στην οθόνη, και μόνο μετά η μεταβλητή θα αυξηθεί:

let num = 0; alert(num++); // θα εμφανίσει 0 alert(num); // θα εμφανίσει 1

Τώρα η μεταβλητή πρώτα θα αυξηθεί, και μετά θα γίνει η εμφάνιση στην οθόνη:

let num = 0; alert(++num); // θα εμφανίσει 1 - η μεταβλητή αυξήθηκε αμέσως

Αυτή η συμπεριφορά ισχύει όχι μόνο για την εμφάνιση στην οθόνη, αλλά και για την ανάθεση:

let num1 = 0; let num2 = num1++; // στη μεταβλητή num2 θα καταγραφεί 0 alert(num2); // θα εμφανίσει 0 alert(num1); // θα εμφανίσει 1 - η μεταβλητή num1 άλλαξε μετά την εγγραφή στο num2

Τώρα ας αλλάξουμε τη μεταθεματική μορφή σε προθεματική:

let num1 = 0; let num2 = ++num1; // στη μεταβλητή num2 θα καταγραφεί 1 alert(num2); // θα εμφανίσει 1

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

let num = 0; ++num; num++; alert(num); // θα εμφανίσει 2

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

let num = 3; alert(++num);

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

let num = 3; alert(num++);

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

let num = 3; alert(--num);

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

let num = 3; alert(num--);

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

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

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

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

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

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

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

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

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

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη