Οι παλιές εκδόσεις JS ονομάζονται με αριθμούς: ES5 (2009) και ES6 (2015).
Από το 2016, οι εκδόσεις ονομάζονται ανά έτος: ECMAScript 2016, 2017, 2018, 2019, ...
Αυτό το κεφάλαιο εισάγει τις νέες δυνατότητες στο ECMAScript 2018:
Ασύγχρονη Επανάληψη
Υπόσχεση Τέλος
Ιδιότητες ανάπαυσης αντικειμένου
Νέες δυνατότητες RegExp
Κοινόχρηστη μνήμη JavaScript
Το ECMAScript 2018 πρόσθεσε ασύγχρονους επαναλήπτες και επαναληπτικούς.
Με ασύγχρονους επαναληπτικούς, μπορούμε να χρησιμοποιήσουμε το αναμονή λέξη-κλειδί σε βρόχους για/από.
for await () {}Η ασύγχρονη επανάληψη JavaScript υποστηρίζεται σε όλα τα σύγχρονα προγράμματα περιήγησης από τον Ιανουάριο του 2020:
| Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
| Dec 2017 | Jan 2020 | Nov 2017 | Sep 2017 | Jan 2018 |
Το ECMAScript 2018 ολοκληρώνει την πλήρη υλοποίηση του αντικειμένου Promise με το Promise.finally:
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();Το Promise.finally υποστηρίζεται σε όλα τα σύγχρονα προγράμματα περιήγησης από τον Νοέμβριο του 2018:
| Chrome 63 | Edge 18 | Firefox 58 | Safari 11.1 | Opera 50 |
| Dec 2017 | Nov 2018 | Jan 2018 | Mar 2018 | Jan 2018 |
Το ECMAScript 2018 πρόσθεσε ιδιότητες ανάπαυσης.
Αυτό μας επιτρέπει να καταστρέψουμε ένα αντικείμενο και να συλλέξουμε τα υπολείμματα σε ένα νέο αντικείμενο:
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }Οι ιδιότητες ανάπαυσης αντικειμένων υποστηρίζονται σε όλα τα σύγχρονα προγράμματα περιήγησης από τον Ιανουάριο του 2020:
| Chrome 60 | Edge 79 | Firefox 55 | Safari 11.1 | Opera 47 |
| Jul 2017 | Jan 2020 | Aug 2017 | Mar 2018 | Aug 2017 |
Το ECMAScript 2018 πρόσθεσε 4 νέες δυνατότητες RegExp:
Unicode Property Escapes (\p{...})
Lookbehind Assertions (?<= ) και (?
Ονομασμένες ομάδες λήψης
s (dotAll) Σημαία
Οι νέες δυνατότητες RegExp υποστηρίζονται σε όλα τα σύγχρονα προγράμματα περιήγησης από τον Ιούνιο του 2020:
| Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
| Jan 2018 | Jan 2020 | Jun 2020 | Sep 2018 | Feb 2018 |
Στο JavaScript χρησιμοποιείτε το Web Workers API για να δημιουργήσετε νήματα.
Τα νήματα Worker χρησιμοποιούνται για την εκτέλεση κώδικα στο παρασκήνιο, έτσι ώστε το κύριο πρόγραμμα να μπορεί να συνεχίσει την εκτέλεση.
Τα νήματα εργασίας εκτελούνται ταυτόχρονα με το κύριο πρόγραμμα. Ταυτόχρονη εκτέλεση διαφορετικών τμημάτων ενός προγράμματος μπορεί να εξοικονομήσει χρόνο.
Η κοινόχρηστη μνήμη είναι μια δυνατότητα που επιτρέπει σε νήματα (διαφορετικά μέρη ενός προγράμματος). πρόσβαση και ενημέρωση των ίδιων δεδομένων στην ίδια μνήμη.
Αντί να μεταβιβάζετε δεδομένα μεταξύ νημάτων, μπορείτε να περάσετε ένα αντικείμενο SharedArrayBuffer που δείχνει στη μνήμη όπου αποθηκεύονται τα δεδομένα.
Ένα αντικείμενο SharedArrayBuffer αντιπροσωπεύει μια προσωρινή μνήμη ακατέργαστων δυαδικών δεδομένων σταθερού μήκους παρόμοια με το αντικείμενο ArrayBuffer.