Προγραμματισμός

Χάρτης πορείας ECMAScript: Νέες δυνατότητες JavaScript για το 2019

Το 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 και trimRight λειτουργεί χωρίς τυπική προδιαγραφή. Για συνέπεια με padStart / padEnd, trimStart, τελειώστε, trimLeft, και trimRight προτείνονται ως ψευδώνυμα για συμβατότητα με τον Ιστό.
  • Ενημερώσεις σε JSON.stringify για να εκπέμπει καλά σχηματισμένο UTF-16 (Unicode Transformation Format). Προς το παρόν, ενδέχεται να εκπέμπονται λανθασμένες μονάδες κώδικα για υποκατάστατα σημεία κώδικα.
  • Προαιρετικός σύλληψη δεσμευτική, επιτρέποντας στους προγραμματιστές να παραλείψουν ένα σύλληψη δέσμευση όταν δεν θα χρησιμοποιηθεί η δέσμευση.

Η πλήρης προδιαγραφή ECMAScript 2019 μπορεί να προβληθεί διαδικτυακά στον ιστότοπο ECMA International. Μπορείτε επίσης να το κατεβάσετε. Οι ολοκληρωμένες εκδόσεις ECMAScript δημοσιεύονται συνήθως κάθε Ιούνιο, όπως η προδιαγραφή ECMAScript 2018 του περασμένου έτους.