Συ

Συνθήκες σε JavaScript

42 ασκήσεις

Σχετικά με την έννοια Συνθήκες

Γενική σύνταξη

Ένας συνηθισμένος τρόπος για να εκτελείς λογική υπό συνθήκη στη JavaScript είναι η εντολή if. Αποτελείται από τη λέξη-κλειδί if, μια συνθήκη μέσα σε παρενθέσεις και ένα μπλοκ κώδικα μέσα σε άγκιστρα. Το μπλοκ κώδικα θα εκτελεστεί μόνο αν η συνθήκη αξιολογηθεί σε true.

if (condition) {
  // code that is executed if "condition" is true
}

Μπορεί να χρησιμοποιηθεί μόνη της ή σε συνδυασμό με τη λέξη-κλειδί else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Εμφωλευμένες εντολές if

Για να εμφωλεύσεις μια ακόμη συνθήκη στην εντολή else, μπορείς να χρησιμοποιήσεις το else if. Πρόσεξε ότι δεν υπάρχει λέξη-κλειδί elseif στη JavaScript. Αντ' αυτού, γράφεις else ακολουθούμενο από μια ακόμη εντολή if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

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

if (condition1) {
  // ...
} else if (condition2) {
  // ...
} else if (condition3) {
  // ...
} else if (condition4) {
  // ...
} else {
  // ...
}

Συνθήκη

Όταν φτιάχνεις σύνθετες συνθήκες, συμβουλέψου τον πίνακα προτεραιότητας τελεστών για να αποφύγεις τις περιττές παρενθέσεις.

if (num >= 0 && num < 1) {
  // ...
}

// The inner brackets are obsolete because relational operators
// have higher precedence than logical operators.
<!-- prettier-ignore-start -->

if ((num >= 0) && (num < 1)) {
  // ...
}
<!-- prettier-ignore-end -->

Επίσης, σκέψου να χρησιμοποιήσεις επιπλέον μεταβλητές ώστε ο κώδικας να είναι πιο ευανάγνωστος.

const isPositive = num >= 0;
const isSmall = num < 1;
if (isPositive && isSmall) {
  // ...
}

Στη JavaScript, η συνθήκη δε χρειάζεται να είναι τύπου boolean (λογική τιμή). Αν σε ένα boolean περιβάλλον, όπως η εντολή if, δοθεί οποιοσδήποτε άλλος τύπος εκτός από boolean, η JavaScript θα μετατρέψει σιωπηρά την τιμή σε boolean. Δες την έννοια της μετατροπής τύπων για λεπτομέρειες σχετικά με το ποιες τιμές είναι truthy και ποιες falsy.

const num = 4;
if (num) {
  // this code block will be executed because 4 is truthy
}

Συντομεύσεις

Αν θέλεις να εκτελέσεις μόνο μία εντολή στο μπλοκ κώδικα του if ή του else, στη JavaScript μπορείς να παραλείψεις τα άγκιστρα.

if (condition) doSomething();

// or

if (condition)
  doSomething();

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

Όταν γράφεις συναρτήσεις, είναι συνηθισμένο μοτίβο να παραλείπεις το μπλοκ else και να χρησιμοποιείς αντ' αυτού ένα πρώιμο return μέσα στο μπλοκ if. Σε πολλές περιπτώσεις, αυτό μειώνει την εμφώλευση και κάνει τον κώδικα πιο ευανάγνωστο και πιο εύκολο να τον παρακολουθήσεις.

function checkNumber(num) {
  let message = '';

  if (num === 0) {
    message = 'You passed 0, please provide another number.';
  } else {
    message = 'Thanks for passing such a nice number.';
  }

  return message;
}

// Can also be written as ...
function checkNumber(num) {
  if (num === 0) {
    return 'You passed 0, please provide another number.';
  }

  return 'Thanks for passing such a nice number.';
}
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Συνθήκες