Tελεστές εκχώρησης τιμής
Οι τελεστές εκχώρησης είναι από τους πιο βασικούς και συχνά χρησιμοποιούμενους τελεστές στην JavaScript. Ο σκοπός τους είναι να αναθέτουν (εκχωρούν) μια τιμή σε μια μεταβλητή.
Απλή εκχώρηση (=
)
Ο πιο θεμελιώδης τελεστής εκχώρησης είναι το ίσον (=
). Η λειτουργία του είναι απλή: παίρνει την τιμή που βρίσκεται στη δεξιά πλευρά του τελεστή και την αποθηκεύει στη μεταβλητή που βρίσκεται στην αριστερή πλευρά του.
const age = 30; // Εκχωρούμε την τιμή 30 στη μεταβλητή 'age'
const greeting = "Hello, world!"; // Εκχωρούμε ένα string στη μεταβλητή 'greeting'
const x = 10;
const y = x; // Εκχωρούμε την τιμή του 'x' (που είναι 10) στη μεταβλητή 'y'
Προσοχή!
Είναι σημαντικό να μην συγχέουμε τον τελεστή εκχώρησης=
με τους τελεστές σύγκρισης ισότητας ==
ή ===
, τους οποίους θα δούμε αργότερα. Ο =
αναθέτει τιμή, ενώ οι ==
και ===
ελέγχουν αν δύο τιμές είναι ίσες.Σσύνθετοι τελεστές εκχώρησης
Οι σύνθετοι τελεστές εκχώρησης ή shorthand assignment operators στα αγγλικά, είναι ένας συντομότερος τρόπος να γράφουμε εκφράσεις όπου θέλουμε να εκτελέσουμε μια αριθμητική πράξη σε μια μεταβλητή και μετά να αναθέσουμε το αποτέλεσμα πίσω στην ίδια μεταβλητή.
Αυτοί οι τελεστές συνδυάζουν έναν αριθμητικό τελεστή (όπως +
, -
, *
, /
, %
, **
) με τον τελεστή εκχώρησης =
.
Σύνθετος Τελεστής | Ισοδύναμη Έκφραση | Περιγραφή |
---|---|---|
x += y | x = x + y | Προσθέτει y στο x και εκχωρεί το αποτέλεσμα στο x . |
x -= y | x = x - y | Αφαιρεί y από το x και εκχωρεί το αποτέλεσμα στο x . |
x *= y | x = x * y | Πολλαπλασιάζει το x με το y και εκχωρεί το αποτέλεσμα στο x . |
x /= y | x = x / y | Διαιρεί το x με το y και εκχωρεί το αποτέλεσμα στο x . |
x %= y | x = x % y | Υπολογίζει το υπόλοιπο της διαίρεσης του x με το y και το εκχωρεί στο x . |
x **= y | x = x ** y | Υψώνει το x στη δύναμη του y και εκχωρεί το αποτέλεσμα στο x . |
Ας δούμε πως λειτουργούν αυτοί οι τελεστές στην πράξη:
1let score = 100;
2score += 50; // Είναι το ίδιο με: score = score + 50;
3console.log(score); // 150
4
5let lives = 3;
6lives -= 1; // Είναι το ίδιο με: lives = lives - 1;
7console.log(lives); // 2
8
9let price = 20;
10price *= 2; // Είναι το ίδιο με: price = price * 2;
11console.log(price); // 40
12
13let total = 100;
14total /= 4; // Είναι το ίδιο με: total = total / 4;
15console.log(total); // 25
16
17let remainder = 17;
18remainder %= 5; // Είναι το ίδιο με: remainder = 17 % 5; (17 δια 5 = 3 με υπόλοιπο 2)
19console.log(remainder); // 2
20
21let base = 2;
22base **= 3; // Είναι το ίδιο με: base = 2 ** 3; (2 * 2 * 2)
23console.log(base); // 8
Οι σύνθετοι τελεστές εκχώρησης μπορούν όχι μόνο κάνουν τον κώδικα μας πιο σύντομο, αλλά μπορούν επίσης να βελτιώσουν την αναγνωσιμότητα του, καθώς εκφράζουν την πρόθεση μας πιο άμεσα: “αύξησε αυτή την μεταβλητή κατά x και αποθήκευσε το αποτέλεσμα πίσω σε αυτήν.”