Στην JavaScript, το boolean είναι ένας τύπος δεδομένων που μπορεί να πάρει δύο δυνατές τιμές: true
ή false
. Τα booleans χρησιμοποιούνται για την αναπαράσταση της αλήθειας ή της ψευδαισθήσεως μιας δήλωσης.
Οι boolean τιμές είναι συχνά το αποτέλεσμα των συγκρίσεων ή των λογικών εκφράσεων. Οι σύγκρισεις επιστρέφουν boolean τιμές, όπως παρακάτω:
const x = 5; const y = 10; const isEqual = x === y; // false, επειδή ο x δεν είναι ίσος με τον y const isGreater = x > y; // false, επειδή ο x δεν είναι μεγαλύτερος του y const isLess = x < y; // true, επειδή ο x είναι μικρότερος του y
Μπορείτε να χρησιμοποιήσετε τις boolean τιμές για να πάρετε αποφάσεις ή να ελέγξετε συνθήκες χρησιμοποιώντας δομές ελέγχου όπως η if
:
const age = 25; if (age >= 18) { console.log("Είστε ενήλικας."); } else { console.log("Είστε ανήλικος."); }
Στο παράδειγμα αυτό, ανάλογα με την τιμή της μεταβλητής age
, θα εκτυπωθεί ανάλογα το μήνυμα “Είστε ενήλικας” ή “Είστε ανήλικος”.
Οι boolean τιμές είναι απαραίτητες για να διαχειριστείτε τον έλεγχο ροής του προγράμματος και να προσδιορίσετε τις συνθήκες κάτω από τις οποίες μια ενέργεια θα πρέπει να εκτελεστεί.
Η συνάρτηση Boolean()
είναι μια ενσωματωμένη συνάρτηση της JavaScript που μετατρέπει μια τιμή σε αντίστοιχη boolean τιμή. Η σύνταξη είναι η εξής:
Boolean(value)
Όταν περάσετε μια τιμή στη συνάρτηση Boolean()
, αυτή θα επιστρέψει την αντίστοιχη boolean τιμή:
- Αν η τιμή είναι μη-μηδενικός αριθμός, μη κενό string, αντικείμενο ή array, η
Boolean()
θα επιστρέψειtrue
. - Αν η τιμή είναι μηδέν, κενό string (
""
),null
,undefined
, ήNaN
, ηBoolean()
θα επιστρέψειfalse
.
[adinserter block=”2″]
Παραδείγματα:
console.log(Boolean(5)); // true console.log(Boolean("Hello")); // true console.log(Boolean({})); // true console.log(Boolean([])); // true console.log(Boolean(0)); // false console.log(Boolean("")); // false console.log(Boolean(null)); // false console.log(Boolean(undefined)); // false console.log(Boolean(NaN)); // false
Η συνάρτηση Boolean()
είναι χρήσιμη όταν θέλετε να μετατρέψετε μια τιμή σε boolean και να τη χρησιμοποιήσετε για ελέγχους ή για να αναπαραστήσετε την αλήθεια ή τη ψευδαίσθηση ενός δεδομένου.
Οι συγκρίσεις και οι συνθήκες είναι σημαντικές έννοιες στην προγραμματιστική γλώσσα JavaScript. Χρησιμοποιούνται για να ελέγξουν συγκεκριμένες συνθήκες και να λάβουν αποφάσεις βάσει των αποτελεσμάτων αυτών των ελέγχων.
Ας δούμε κάποια παραδείγματα για να κατανοήσουμε πώς λειτουργούν οι συγκρίσεις και οι συνθήκες στη JavaScript:
Συγκρίσεις
Οι συγκρίσεις συγκρίνουν δύο τιμές και επιστρέφουν μια boolean τιμή (true
ή false
) ανάλογα με το αν η συγκρίση είναι αληθής ή ψευδής.
Σύμβολα συγκρίσεων:
==
: Ισότητα. Επιστρέφειtrue
αν οι δύο τιμές είναι ίσες.!=
: Όχι ισότητα. Επιστρέφειtrue
αν οι δύο τιμές δεν είναι ίσες.===
: Αυστηρή ισότητα. Επιστρέφειtrue
αν οι δύο τιμές είναι ίσες και τύπου ίσες (το ίδιο data type).!==
: Αυστηρή όχι ισότητα. Επιστρέφειtrue
αν οι δύο τιμές δεν είναι ίσες ή διαφορετικού τύπου.<
: Μικρότερο από.>
: Μεγαλύτερο από.<=
: Μικρότερο ή ίσο από.>=
: Μεγαλύτερο ή ίσο από.
Παραδείγματα:
console.log(5 == 5); // true console.log(5 != 5); // false console.log(5 === "5"); // false (διαφορετικοί τύποι) console.log(5 !== "5"); // true (διαφορετικοί τύποι) console.log(5 < 10); // true console.log(5 > 10); // false console.log(5 <= 5); // true console.log(5 >= 10); // false
Συνθήκες
Οι συνθήκες επιτρέπουν την εκτέλεση κώδικα βάσει του αποτελέσματος μιας συγκρίσεως. Η πιο συνηθισμένη μορφή των συνθηκών είναι η if
, αλλά υπάρχουν επίσης άλλες όπως η else if
και η else
.
Παράδειγμα με if
:
let age = 20; if (age >= 18) { console.log("Είστε ενήλικας"); } else { console.log("Είστε ανήλικος"); }
Παράδειγμα με else if
:
let grade = 85; if (grade >= 90) { console.log("Άριστα"); } else if (grade >= 80) { console.log("Πολύ καλά"); } else if (grade >= 60) { console.log("Καλά"); } else { console.log("Κάτω του μέτριου"); }
Στην JavaScript, μπορείτε επίσης να χρησιμοποιήσετε την τριάδα ? :
για να γράψετε συνθήκες σε μια συντομότερη μορφή, γνωστή και ως “τερναρισμός”:
let age = 20; let status = (age >= 18) ? "Ενήλικας" : "Ανήλικος"; console.log(status);
Η συγκρίσεις και οι συνθήκες είναι βασικά εργαλεία που σας επιτρέπουν να λαμβάνετε αποφάσεις και να εκτελείτε κώδικα με βάση τις τιμές και τις συνθήκες που ισχύουν στο πρόγραμμά σας.
[adinserter block=”3″]
Στην JavaScript, συγκεκριμένες τιμές αξιολογούνται ως false
, ενώ όλες οι υπόλοιπες τιμές αξιολογούνται ως true
.
Οι τιμές που αξιολογούνται ως false
είναι οι εξής:
false
: Η τιμήfalse
αξιολογείται πάντα ωςfalse
.0
: Η αριθμητική τιμή0
αξιολογείται ωςfalse
.NaN
: Η τιμήNaN
(Not a Number) αξιολογείται ωςfalse
.null
: Η τιμήnull
αξιολογείται ωςfalse
.undefined
: Η τιμήundefined
αξιολογείται ωςfalse
.""
(κενό string): Ένα κενό string αξιολογείται ωςfalse
.
Όλες οι υπόλοιπες τιμές, όπως αριθμοί διαφορετικοί του 0, strings με περιεχόμενο, arrays, objects και functions, αξιολογούνται ως true
.
Ας δούμε ένα παράδειγμα:
if (false) { console.log("Αυτό δεν θα εκτελεστεί"); } if (0) { console.log("Αυτό δεν θα εκτελεστεί"); } if (NaN) { console.log("Αυτό δεν θα εκτελεστεί"); } if (null) { console.log("Αυτό δεν θα εκτελεστεί"); } if (undefined) { console.log("Αυτό δεν θα εκτελεστεί"); } if ("") { console.log("Αυτό δεν θα εκτελεστεί"); } if (10) { console.log("Αυτό θα εκτελεστεί"); } if ("Hello") { console.log("Αυτό θα εκτελεστεί"); }
Στο παραπάνω παράδειγμα, μόνο οι τελευταίες δύο συνθήκες είναι αληθείς, επομένως ο κώδικας μέσα στα αντίστοιχα if
θα εκτελεστεί.
Στην JavaScript, υπάρχει και η δυνατότητα να χρησιμοποιήσετε τον constructor Boolean
για να δημιουργήσετε ένα boolean object, αντί για την απλή boolean τιμή.
Ο constructor Boolean
μπορεί να χρησιμοποιηθεί με ή χωρίς το new
keyword:
// Χρησιμοποιώντας το new keyword const boolObj = new Boolean(true); console.log(boolObj); // εμφανίζει: [Boolean: true] console.log(typeof boolObj); // εμφανίζει: "object" // Χρησιμοποιώντας τον constructor χωρίς το new keyword const boolObj2 = Boolean(false); console.log(boolObj2); // εμφανίζει: false console.log(typeof boolObj2); // εμφανίζει: "boolean"
Το σημαντικό να γνωρίζετε είναι πως τα boolean objects συγκρίνονται διαφορετικά από τις απλές boolean τιμές:
const boolValue = true; const boolObject = new Boolean(true); console.log(boolValue == true); // εμφανίζει: true console.log(boolObject == true); // εμφανίζει: true console.log(boolValue === true); // εμφανίζει: true console.log(boolObject === true); // εμφανίζει: false
Επειδή τα boolean objects είναι objects, ο συγκριτικός τελεστής ===
επιστρέφει false
όταν συγκρίνει ένα boolean object με μια απλή boolean τιμή.
Συνήθως, δεν χρειάζεται να χρησιμοποιείτε boolean objects και συνήθως αρκεί να χρησιμοποιείτε απλές boolean τιμές (true ή false).