Προτείνεται η προσθήκη σύνταξης με πληροφορίες τύπου στη γλώσσα JavaScript

Η Microsoft, η Igalia και το Bloomberg ανέλαβαν την πρωτοβουλία να συμπεριλάβουν τη σύνταξη στην προδιαγραφή JavaScript για ρητούς ορισμούς τύπων, παρόμοια με τη σύνταξη που χρησιμοποιείται στη γλώσσα TypeScript. Επί του παρόντος, οι πρωτότυπες αλλαγές που προτείνονται για συμπερίληψη στο πρότυπο ECMAScript υποβάλλονται για προκαταρκτικές συζητήσεις (Στάδιο 0). Στην επόμενη συνεδρίαση της επιτροπής TC39 τον Μάρτιο, προγραμματίζεται να προχωρήσουμε στο πρώτο στάδιο εξέτασης της πρότασης με τη συμμετοχή της κοινότητας εμπειρογνωμόνων της ECMA.

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

Επιπλέον, σε αντίθεση με τις πληροφορίες τύπου που καθορίζονται χρησιμοποιώντας σχολιασμούς JSDoc που καθορίζονται με τη μορφή σχολίων, η άμεση ένδειξη των τύπων απευθείας σε κατασκευές ορισμού μεταβλητών θα κάνει τον κώδικα πιο οπτικό, κατανοητό και πιο εύκολο στην επεξεργασία. Για παράδειγμα, τα IDE με υποστήριξη TypeScript θα μπορούν να επισημαίνουν αμέσως σφάλματα στον πληκτρολογημένο κώδικα JavaScript χωρίς πρόσθετες μετατροπές. Επιπλέον, η ενσωματωμένη υποστήριξη τύπων θα καταστήσει δυνατή την εκτέλεση προγραμμάτων γραμμένων σε πληκτρολογημένες διαλέκτους JavaScript, όπως TypeScript και Flow, χωρίς μεταγραφή από τη μια γλώσσα στην άλλη.

Προτείνεται η προσθήκη σύνταξης με πληροφορίες τύπου στη γλώσσα JavaScript

Μεταξύ των τύπων, προτείνεται να προστεθούν "string", "number" και "boolean", τα οποία μπορούν να χρησιμοποιηθούν κατά τον ορισμό μεταβλητών, παραμέτρων συναρτήσεων, στοιχείων αντικειμένων, πεδίων κλάσης, πληκτρολογημένων πινάκων ("number[]"). Προτείνεται επίσης η παροχή υποστήριξης για συγχωνευμένους τύπους ("string | number") και γενόσημα. έστω x: συμβολοσειρά; συνάρτηση add(a: αριθμός, b: αριθμός) { return a + b; } διεπαφή Πρόσωπο { όνομα: συμβολοσειρά; ηλικία: αριθμός; } λειτουργία foo (x: T) { return x; } συνάρτηση foo(x: συμβολοσειρά | αριθμός): συμβολοσειρά | αριθμός { if (typeof x === number) { return x + 1 } else { return x + "!" } }

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο