Πλεονεκτήματα του let

Το block scope οπου δρα το let μας βοηθά να ελαχιστοποιήσουμε τις πιθανότητες να κάνουμε λάθη.

Φανταστείτε ότι έχετε ένα μεγάλο κομμάτι κώδικα και χρησιμοποιείτε το var για να δηλώσετε τις μεταβλητές σας.

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

Για παράδειγμα:

function myFunc () {
var x = 100;
var x = 200;
console.log(x);
}
myFunc ();

Σε αυτήν την περίπτωση, η έξοδος της κονσόλας θα είναι 200. Εδώ ο κώδικας είναι πολύ μικρός και μπορείτε εύκολα να ελέγξετε τι κάνετε. Ωστόσο, αν είχαμε 1000 γραμμές κώδικα, δεν θα μπορούσατε να δείτε τι συμβαίνει. Το αποτέλεσμα θα ήταν να έχουμε έναν κώδικα ο οποίος είτε δεν λειτουργεί είτε παρέχει απρόσμενα αποτελέσματα.

Αν προσπαθήσουμε να εφαρμόσουμε το ίδιο παράδειγμα χρησιμοποιώντας let:

function myFunc () {
let x = 100;
let x = 200;
console.log(x);
}
myFunc ();

Η έξοδος της κονσόλας θα είναι:: "Uncaught SyntaxError: Identifier 'x' has already been declared"

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

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