Κατανόηση της αξιολόγησης βραχυκυκλώματος σε JavaScript

Η αξιολόγηση βραχυκυκλώματος είναι μια θεμελιώδης έννοια στη JavaScript και σε πολλές άλλες γλώσσες προγραμματισμού. Διαδραματίζει κρίσιμο ρόλο στον έλεγχο της ροής του κώδικά σας και στη βελτιστοποίηση της απόδοσης. Σε αυτήν την ανάρτηση ιστολογίου, θα βουτήξουμε στη θεωρία πίσω από την αξιολόγηση βραχυκυκλώματος και θα παρέχουμε πρακτικά παραδείγματα για να δείξουμε τη χρήση του.

Τι είναι η αξιολόγηση βραχυκυκλώματος;

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

Στο JavaScript, η αξιολόγηση βραχυκυκλώματος πραγματοποιείται όταν χρησιμοποιούνται λογικοί τελεστές όπως «&&» (AND) και «||» (OR). Ας ρίξουμε μια πιο προσεκτική ματιά σε καθέναν από αυτούς τους τελεστές.

Βραχυκύκλωμα με τον Λογικό AND (&&) χειριστή

Ο λογικός τελεστής AND (`&&`) επιστρέφει "true" εάν και οι δύο τελεστές του είναι "true" και επιστρέφει "false" εάν τουλάχιστον ένας από αυτούς είναι "false". Ωστόσο, δεν αξιολογεί απαραίτητα και τους δύο τελεστές. Εάν ο αριστερός τελεστής είναι "false", δεν χρειάζεται να αξιολογηθεί ο δεξιός τελεστής, επειδή το αποτέλεσμα έχει ήδη καθοριστεί ως "false". Εδώ μπαίνει στο παιχνίδι το βραχυκύκλωμα.

javascript
Παράδειγμα 1: Βραχυκύκλωμα με &&

const result1 = false && doSomething(); // doSomething() is not called
const result2 = true && doSomething(); // doSomething() is called

Στο Παράδειγμα 1, η συνάρτηση «doSomething()» καλείται μόνο όταν ο αριστερός τελεστής είναι «true». Όταν ο αριστερός τελεστής είναι "false", η JavaScript βραχυκυκλώνει την αξιολόγηση και παρακάμπτει την κλήση συνάρτησης.

Βραχυκύκλωμα με τον τελεστή Λογικό Ή (||)

Ο λογικός τελεστής OR (`||`) επιστρέφει "true" εάν τουλάχιστον ένας από τους τελεστές του είναι "true" και επιστρέφει "false" μόνο εάν και οι δύο τελεστές είναι "false". Όπως ο τελεστής «&&», έτσι και αυτός βραχυκυκλώνει την αξιολόγησή του. Εάν ο αριστερός τελεστής είναι "true", δεν χρειάζεται να αξιολογηθεί ο σωστός τελεστής επειδή το αποτέλεσμα έχει ήδη καθοριστεί ως "true".

javascript
Παράδειγμα 2: Βραχυκύκλωμα με ||

const result3 = true || doSomething(); // doSomething() is not called
const result4 = false || doSomething(); // doSomething() is called

Στο Παράδειγμα 2, η συνάρτηση «doSomething()» καλείται μόνο όταν ο αριστερός τελεστής είναι «false». Όταν ο αριστερός τελεστής είναι "true", η JavaScript βραχυκυκλώνει την αξιολόγηση και παρακάμπτει την κλήση συνάρτησης.

Πρακτικές εφαρμογές αξιολόγησης βραχυκυκλώματος

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

Προεπιλεγμένες τιμές

function greet(name) {
 name = name || 'Guest'; // If name is falsy, set it to 'Guest'
 return `Hello, ${name}!`;
}
console.log(greet()); // Output: Hello, Guest!
console.log(greet('Alice')); // Output: Hello, Alice

Σε αυτό το παράδειγμα, χρησιμοποιούμε τον τελεστή «||» για να παράσχουμε μια προεπιλεγμένη τιμή για την παράμετρο «όνομα» εάν είναι ψευδής. Αυτό είναι ένα κοινό μοτίβο για το χειρισμό προαιρετικών ορισμάτων συνάρτησης.

Ρήτρες φύλαξης

function divide(a, b) {
 if (b === 0) {
 console.error('Division by zero is not allowed');
 return;
 }
 return a / b;
}

Σε αυτό το παράδειγμα, χρησιμοποιούμε μια δήλωση "if" ως ρήτρα προστασίας για να ελέγξουμε εάν το "b" είναι μηδέν πριν εκτελέσουμε τη διαίρεση. Αυτό αποτρέπει το σφάλμα διαίρεσης με μηδέν. Μπορείτε επίσης να επιτύχετε το ίδιο αποτέλεσμα χρησιμοποιώντας βραχυκύκλωμα:

function divide(a, b) {
 return b !== 0 && a / b;
}

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

Συμπέρασμα

Η αξιολόγηση βραχυκυκλώματος είναι ένας ισχυρός και αποτελεσματικός τρόπος χειρισμού της λογικής υπό όρους στο JavaScript. Η κατανόηση του τρόπου λειτουργίας των χειριστών «&&» και «||» μπορεί να οδηγήσει σε πιο καθαρό και συνοπτικό κώδικα. Ωστόσο, να είστε προσεκτικοί όταν χρησιμοποιείτε βραχυκύκλωμα, καθώς μερικές φορές μπορεί να κάνει τον κώδικά σας λιγότερο ευανάγνωστο σε περίπτωση υπερβολικής χρήσης. Χρησιμοποιήστε το με σύνεση για να βελτιώσετε τη σαφήνεια και την απόδοση του κώδικά σας.

Stackademic

Σας ευχαριστούμε που διαβάσατε μέχρι το τέλος. Πριν πάτε:

  • Σκεφτείτε να χειροκροτήσετε και να ακολουθήσετε τον συγγραφέα! 👏
  • Ακολουθήστε μας στο Twitter(X), LinkedIn και YouTube.
  • Επισκεφτείτε τη Stackademic.com για να μάθετε περισσότερα σχετικά με τον τρόπο με τον οποίο εκδημοκρατίζουμε τη δωρεάν εκπαίδευση προγραμματισμού σε όλο τον κόσμο.