Υποενότητα 7.1: Εισαγωγή στην ES6
Υποενότητα 7.1: Εισαγωγή στην ES6
- Let ή Var
- Πλεονεκτήματα του "let"
- Συναρτήσεις βέλους – arrow functions
let vs var
Το 2015, κυκλοφόρησε ή ES6 (ECMAScript 6). Η EcmaScript δεν είναι άλλη γλώσσα, είναι στην πραγματικότητα το επίσημο όνομα για τηJavaScript.
Οι αλλαγές έγιναν προκειμένου να βελτιωθεί η σύνταξη και η λειτουργικότητα της JavaScript.
Μία από τις κύριες αλλαγές αλλάζει πώς δηλώνουμε μια μεταβλητή με την αντικατάσταση του var
με το let
.
Ποια είναι λοιπόν η διαφορά μεταξύ var και let;
Όταν δηλώνουμε μια μεταβλητή χρησιμοποιώντας var, αυτή η μεταβλητή έχει πεδίο "δράσης" - function scope.
Με αυτό, εννοούμε ότι η καθορισμένη μεταβλητή είναι προσβάσιμη σε οποιοδήποτε τμήμα του κώδικα της συνάρτησης.
Ας δούμε ένα παράδειγμα:
function myFunc () {
for (var i=0; i<10; i++) {
// do something
};
console.log(i);
}
myFunc ();
Σε αυτή την περίπτωση, το αποτέλεσμα του console.log θα είναι 10.
Εάν κάνουμε το ίδιο πράγμα χρησιμοποιώντας let:
function myFunc () {
for (let i=0; i<10; i++) {
// do something
};
console.log(i);
}
myFunc ();
το αποτέλεσμα θα είναι: "Uncaught ReferenceError: i is not defined"
Αυτό συμβαίνει επειδή σε αντίθεση με var, το let έχει πεδίο "δράσης" - block scope
. Αυτό σημαίνει ότι η μεταβλητή είναι διαθέσιμη μόνο μέσα στο μπλοκ όπου δημιουργήθηκε
Στο επόμενο κεφάλαιο θα μάθουμε ποιο είναι το πλεονέκτημα της χρήσης block scope αντί γοα function scope.
Σημείωση: Και τα δύο παραπάνω παραδείγματα δεν λειτουργούν εάν τα πληκτρολογήσετε απευθείας στην κονσόλα σας.