Microsoft, Igalia και Bloomberg Το ανακοίνωσαν πριν λίγες μέρες ανέλαβαν την πρωτοβουλία να συμπεριλάβουν μια σύνταξη για τον ρητό ορισμό τύπου στην προδιαγραφή JavaScript, παρόμοια με τη σύνταξη που χρησιμοποιείται στη γλώσσα TypeScript.
Επί του παρόντος, οι πρωτότυπες αλλαγές που προτείνονται για συμπερίληψη στο πρότυπο ECMAScript έχουν υποβληθεί για προκαταρκτικές συζητήσεις (Στάδιο 0).
Σήμερα, είμαστε στην ευχάριστη θέση να ανακοινώσουμε την υποστήριξή μας και τη συνεργασία μας σε μια νέα πρόταση Stage 0 για τη μεταφορά προαιρετικού και διαγραφόμενου τύπου σύνταξης στο JavaScript. Επειδή αυτή η νέα σύνταξη δεν θα άλλαζε τον τρόπο εκτέλεσης του περιβάλλοντος κώδικα, θα λειτουργούσαν ουσιαστικά σαν σχόλια. Πιστεύουμε ότι αυτό έχει τη δυνατότητα να κάνει το TypeScript ευκολότερο και πιο γρήγορο στη χρήση για ανάπτυξη σε όλες τις κλίμακες. Θα θέλαμε να μιλήσουμε για το γιατί το επιδιώκουμε και πώς αυτή η πρόταση λειτουργεί σε υψηλό επίπεδο.
Αναφέρεται ότι στο τΗ ύπαρξη σαφών πληροφοριών τύπου θα αποτρέψει πολλά σφάλματα στη διαδικασία ανάπτυξης, θα παρέχει την ευκαιρία χρήσης πρόσθετων τεχνικών βελτιστοποίησης, απλούστευσης του εντοπισμού σφαλμάτων και θα κάνει τον κώδικα πιο ευανάγνωστο και ευκολότερο για τροποποίηση και συντήρηση από τρίτους προγραμματιστές.
εκτός αυτού προτείνεται η εφαρμογή υποστήριξης τύπου ως προαιρετική συνάρτηση: Οι μηχανές JavaScript και οι χρόνοι εκτέλεσης που δεν υποστηρίζουν τον έλεγχο τύπου θα αγνοήσουν τους σχολιασμούς με πληροφορίες τύπου και θα επεξεργάζονται τον κώδικα όπως πριν, εκλαμβάνοντας τα δεδομένα τύπου ως σχόλια. Ωστόσο, τα εργαλεία ελέγχου τύπου θα μπορούν, με βάση τις διαθέσιμες πληροφορίες, να εντοπίζουν σφάλματα που σχετίζονται με εσφαλμένη χρήση τύπων.
Φόντο
Μια πρόσφατη τάση που έχει δει η ομάδα μας στον κόσμο της JavaScript είναι η ζήτηση για ταχύτερο χρόνο επανάληψης και μειωμένα βήματα κατασκευής. Με άλλα λόγια, «κάντε το πιο γρήγορο και πιο απλό».Κατά κάποιο τρόπο, αυτό ήδη συμβαίνει. Χάρη στην επιτυχία των evergreen browsers, οι προγραμματιστές μπορούν συχνά να αποφύγουν τη μεταγλώττιση νεότερων εκδόσεων JavaScript για εκτέλεση σε παλαιότερους χρόνους εκτέλεσης. Σε κάποιο βαθμό, το ίδιο ισχύει και για την ομαδοποίηση: τα περισσότερα προγράμματα περιήγησης έχουν ενσωματωμένη υποστήριξη για τη χρήση λειτουργικών μονάδων, επομένως η ομαδοποίηση μπορεί να θεωρηθεί περισσότερο ως ένα βήμα βελτιστοποίησης παρά ως αναγκαιότητα. Αυτό συμβαίνει όλο και περισσότερο, οπότε πώς αντέχει το TypeScript;
Ταυτόχρονα, σε αντίθεση με τις καθορισμένες πληροφορίες τύπου μέσω σχολιασμών JSDoc που προσδιορίζονται ως σχόλια, την άμεση προδιαγραφή των τύπων απευθείας σε κατασκευές ορισμού μεταβλητών θα κάνει τον κώδικα πιο οπτικό, κατανοητό και πιο εύκολο στην επεξεργασία.
Για παράδειγμα, τα IDE με δυνατότητα TypeScript θα μπορούν να επισημαίνουν αμέσως σφάλματα στον γραπτό κώδικα JavaScript χωρίς πρόσθετους μετασχηματισμούς. Επιπλέον, η ενσωματωμένη υποστήριξη τύπων θα καταστήσει δυνατή την εκτέλεση προγραμμάτων γραμμένων σε διαλέκτους JavaScript όπως το TypeScript και το Flow χωρίς μεταγραφή από τη μια γλώσσα στην άλλη.
Από τους τύπους, προτείνεται να προστεθούν "string", "number" και "boolean", τα οποία μπορούν να χρησιμοποιηθούν κατά τον ορισμό μεταβλητών, παραμέτρων συναρτήσεων, στοιχείων αντικειμένων, πεδίων κλάσης, πληκτρολογημένων πινάκων ("number[]"). Προτείνεται επίσης η παροχή υποστήριξης για μεικτούς τύπους ("string | number") και γενόσημα.
Δεδομένων όλων αυτών, σχεδιάζουμε να παρουσιάσουμε αυτήν την πρόταση για το Στάδιο 1 στην επόμενη συνεδρίαση της ολομέλειας του TC2022 τον Μάρτιο του 39. Θα το κάνουμε με την υποστήριξη και την καθοδήγηση των συμπρωταθλητών μας αυτής της πρότασης, του Rob Palmer στο Bloomberg και του Romulo Cintra στο Igalia.
Η επίτευξη του Σταδίου 1 σημαίνει ότι η επιτροπή προτύπων πιστεύει ότι αξίζει να εξεταστεί η συμβατή σύνταξη τύπου για το ECMAScript. Αυτό δεν είναι σίγουρο: υπάρχουν πολλές πολύτιμες προοπτικές εντός της επιτροπής, και αναμένουμε κάποιο σκεπτικισμό. Μια πρόταση όπως αυτή θα λάβει πολλά σχόλια και τον κατάλληλο έλεγχο. Μπορεί να περιλαμβάνει πολλές σχεδιαστικές αλλαγές στην πορεία και μπορεί να χρειαστούν χρόνια για να ληφθούν αποτελέσματα.
στην επόμενη συνάντηση του Μαρτίου της επιτροπής TC39, προβλέπεται η μετάβαση στο πρώτο στάδιο εξέταση της πρότασης με τη συμμετοχή της κοινότητας εμπειρογνωμόνων της ECMA.
Τελικά Εάν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.