Το ECMAScript 2019, η τελευταία έκδοση των προδιαγραφών που χρησιμεύει ως βάση του JavaScript, έχει οριστικοποιηθεί. Η ECMA International ενέκρινε την προδιαγραφή τον Ιούνιο.
Οι νέες δυνατότητες που εισήχθησαν στο ECMAScript 2019 περιλαμβάνουν τα ακόλουθα:
Symbol.prototype.description
, μια ιδιότητα πρόσβασης του οποίουορίστε τον αξεσουάρ
είναι απροσδιόριστο. Τουπάρτε αξεσουάρ
Η λειτουργία εκτελεί βήματα όπως:μικρό
είναι αυτή η αξία, αςσυμβ
είναι?
thisSymbolValue (s)
, και επιστροφήσυμβ
.[[Περιγραφή]]
. Ο στόχος αυτής της δυνατότητας είναι να εκθέσει το[[Περιγραφή]]
εσωτερική υποδοχή ενός συμβόλου απευθείας αντί μόνο έμμεσαSymbol.prototype.toString
.- Αλλαγές σε
Function.prototype.toString
. Έχουν προταθεί αναθεωρήσεις όπως εφαρμογές που δεν απαιτούνται για τη διατήρηση του πηγαίου κειμένου για όλες τις λειτουργίες που ορίζονται χρησιμοποιώντας τον κωδικό ECMAScript. prototype.flatMap
, μια κοινή λειτουργία πίνακα που λαμβάνει μια ένθετη δομή πίνακα και αφαιρεί ένα ή περισσότερα επίπεδα ένθεσης ανάλογα με την παράμετρο. Το Flat υπάρχει σε βιβλιοθήκες που μοιάζουν με πίνακες όπως το Lodash, το οποίο οδήγησε τους χρήστες να θέλουν την ίδια λειτουργικότητα στο JavaScript της βανίλιας.prototype.flatmap
, ένας χάρτης που ακολουθείται από ένα επίπεδο, προσφέρει μια μικρή ευκολία και μια μικρή βελτιστοποίηση. Το Flatmap είναι βολικό επειδή η ισοπέδωση και η χαρτογράφηση συχνά είναι χρήσιμα στην ίδια λειτουργία. Είναι επίσης μια βελτιστοποίηση, διότι δεν χρειάζεται να εκχωρηθεί ένας πίνακας για τη χαρτογράφηση μόνο για να τον απορρίψει κατά την ισοπέδωση.prototype.sort ()
, μια μέθοδος που ταξινομεί τα στοιχεία ενός πίνακα στη θέση τους και επιστρέφει τον πίνακα, είναι τώρα σταθερή.Object.fromEntries
, προβλέποντας μια νέα στατική μέθοδο για τη μετατροπή μιας λίστας ζευγών τιμών κλειδιών σε ένα αντικείμενο.String.prototype.trimStart
καιString.prototype.trimEnd
. Το σκεπτικό πίσω από αυτές τις αναθεωρήσεις είναι ότι όλοι οι μεγάλοι κινητήρες έχουν εφαρμόσει αντίστοιχαtrimLeft
καιtrimRigh
t λειτουργεί χωρίς τυπική προδιαγραφή. Για συνέπεια μεpadStart / padEnd
,trimStart
,τελειώστε
,trimLeft
, καιtrimRight
προτείνονται ως ψευδώνυμα για συμβατότητα με τον Ιστό.- Ενημερώσεις σε
JSON.stringify
για να εκπέμπει καλά σχηματισμένο UTF-16 (Unicode Transformation Format). Προς το παρόν, ενδέχεται να εκπέμπονται λανθασμένες μονάδες κώδικα για υποκατάστατα σημεία κώδικα. - Προαιρετικός
σύλληψη
δεσμευτική, επιτρέποντας στους προγραμματιστές να παραλείψουν ένασύλληψη
δέσμευση όταν δεν θα χρησιμοποιηθεί η δέσμευση.
Η πλήρης προδιαγραφή ECMAScript 2019 μπορεί να προβληθεί διαδικτυακά στον ιστότοπο ECMA International. Μπορείτε επίσης να το κατεβάσετε. Οι ολοκληρωμένες εκδόσεις ECMAScript δημοσιεύονται συνήθως κάθε Ιούνιο, όπως η προδιαγραφή ECMAScript 2018 του περασμένου έτους.