31. Σύγκριση (Comparison) JavaScript και Λογικοί τελεστές (Logical Operators)

JS Comparisons


Η Σύγκριση και οι Λογικοί χειριστές χρησιμοποιούνται για τη δοκιμή true ή false.


Τελεστές Σύγκρισης

Οι τελεστές σύγκρισης χρησιμοποιούνται σε λογικές δηλώσεις για τον προσδιορισμό της ισότητας ή της διαφοράς μεταξύ μεταβλητών ή τιμών.

Δεδομένου ότι x = 5 ο παρακάτω πίνακας εξηγεί τους τελεστές σύγκρισης:

ΤελεστήςΠεριγραφήΣύγκρισηΕπιστρέφειΔοκιμάστε το
==ίσο μεx == 8falseTry it »
x == 5trueTry it »
x == “5”trueTry it »
===ίση τιμή και ίδιος τύποςx === 5trueTry it »
x === “5”falseTry it »
!=όχι ίσοx != 8trueTry it »
!==όχι ίση τιμή ή όχι ίδιος τύποςx !== 5falseTry it »
x !== “5”trueTry it »
x !== 8trueTry it »
>μεγαλύτερο απόx > 8falseTry it »
<μικρότερο απόx < 8trueTry it »
>=μεγαλύτερο από ή ίσο μεx >= 8falseTry it »
<=μικρότερο από ή ίσο μεx <= 8trueTry it »

Πώς μπορεί να χρησιμοποιηθεί

Οι τελεστές σύγκρισης μπορούν να χρησιμοποιηθούν σε δηλώσεις υπό όρους για να συγκρίνουν τιμές και να αναλάβουν δράση ανάλογα με το αποτέλεσμα:

if (age < 18) text = "Too young";

Θα μάθετε περισσότερα σχετικά με τη χρήση δηλώσεων υπό όρους στο επόμενο κεφάλαιο αυτού του σεμιναρίου.


Λογικοί τελεστές

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

Με δεδομένα τα x = 6 και y = 3 στον παρακάτω πίνακα εξηγούνται οι λογικοί τελεστές:

ΤελεστήςΠεριγραφήΠαράδειγμαΔοκιμάστε το
&&and(x < 10 && y > 1) is trueTry it »
||or(x == 5 || y == 5) is falseTry it »
!not!(x == y) is trueTry it »

Υπό όρους (Ternary) τελεστής

Η JavaScript περιέχει επίσης έναν τελεστή υπό όρους που εκχωρεί μια τιμή σε μια μεταβλητή βάσει κάποιας συνθήκης.

Σύνταξη

variablename = (condition) ? value1:value2 

Παράδειγμα

var voteable = (age < 18) ? "Πάρα πολύ νέος":"Αρκετά μεγάλος";

Δοκιμάστε το »

Εάν η μεταβλητή age είναι κάτω από 18, η τιμή της μεταβλητής voteable θα είναι “Πάρα πολύ νέος”, διαφορετικά η τιμή του voteable  θα είναι “Αρκετά μεγάλος”.


Σύγκριση διαφορετικών τύπων

Η σύγκριση δεδομένων διαφορετικών τύπων μπορεί να δώσει απροσδόκητα αποτελέσματα.

Κατά τη σύγκριση μιας συμβολοσειράς με έναν αριθμό, η JavaScript θα μετατρέψει τη συμβολοσειρά σε έναν αριθμό κατά τη σύγκριση. Μια κενή συμβολοσειρά μετατρέπεται σε 0. Μια μη-αριθμητική συμβολοσειρά μετατρέπει σε NaN το οποίο είναι πάντα false.

ΠερίπτωσηΤιμήΔοκιμάστε το
2 < 12trueTry it »
2 < “12”trueTry it »
2 < “John”falseTry it »
2 > “John”falseTry it »
2 == “John”falseTry it »
“2” < “12”falseTry it »
“2” > “12”trueTry it »
“2” == “12”falseTry it »

Όταν συγκρίνουμε δύο συμβολοσειρές, το “2” θα είναι μεγαλύτερο από “12”, διότι (αλφαβητικά) 1 είναι μικρότερο από 2.

Για να εξασφαλιστεί ένα σωστό αποτέλεσμα, οι μεταβλητές πρέπει να μετατραπούν στον κατάλληλο τύπο πριν από τη σύγκριση:

age = Number(age);
if (isNaN(age)) {
  voteable = "Αυτό που εισάγατε δεν είναι αριθμός";
} else {
  voteable = (age < 18) ? "Πάρα πολύ νέος":"Αρκετά μεγάλος";}

Δοκιμάστε το »


Δοκιμάστε τον εαυτό σας με τις ασκήσεις

Ασκηση:

Επιλέξτε το σωστό χειριστή σύγκρισης για να ειδοποιήσετε true, όταν xείναι μεγαλύτερο από y.

x = 10;
y = 5;
ειδοποίηση (x  y).

Υποβολή απάντησης “Ξεκινήστε την Άσκηση »


Days
Hours
Minutes

31. Σύγκριση (Comparison) JavaScript και Λογικοί τελεστές (Logical Operators)

Κοινοποίηση

Share on facebook
Share on twitter

Ακολουθήστε μας

Αρέσει σε %d bloggers: