Καλώς ορίσατε το JavaScript 2.0

Το JavaScript κυριαρχεί στον ιστό και στο ECMAScript, ο πυρήνας της γλώσσας μεγαλώνει. Η νέα προδιαγραφή (ES6 ή JS2), η οποία αναμένεται στα μέσα του τρέχοντος έτους, φέρνει μαζί της πολλές καινοτομίες που μπορούν ήδη να δοκιμαστούν σήμερα. Ο Firefox έχει επί του παρόντος την καλύτερη υποστήριξη , αλλά είναι επίσης δυνατές οι πολυπληρώσεις μέσω των λεγόμενων transpilers όπως το Google Traceur . Το παρακάτω είναι μια σύντομη επισκόπηση των νέων δυνατοτήτων του ES6.


Η νέα λέξη-κλειδί let κάνει πολύ καλύτερα από το var : Το scoping συμπεριφέρεται τώρα ακριβώς όπως και σε άλλες γλώσσες (C / C ++, Java), και γι 'αυτό το if-blocks έχει πλέον το δικό του πεδίο. Η ανύψωση, δηλαδή η παρουσίαση μεταβλητών δηλώσεων (όχι εκχωρήσεων αξίας) εντός του αντίστοιχου πεδίου επιδιορθώνεται επίσης:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

Ο αριθμός των άλλων καινοτομιών είναι μεγάλος: σταθερές (const), προεπιλεγμένες τιμές για συναρτήσεις (συνάρτηση pow (a, b = 2) {return Math.pow (a, b);}), μια νέα σημείωση για συναρτήσεις (ας pow = (a, b = 2) => Math.pow (a, b);), ένα πλήθος νέων λειτουργιών (επανάληψη (), περιέχει (), ξεκινά με (), εύρεση (), findIndex ()), τη νέα κατασκευή βρόχου για ... από.

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

`foo

bar`

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

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

let cmp = (a,b) => Math.abs(a-b) 
Πίσω