Il est proposé d'ajouter une syntaxe avec des informations de type au langage JavaScript

Microsoft, Igalia et Bloomberg ont pris l'initiative d'inclure une syntaxe dans la spécification JavaScript pour les définitions de types explicites, similaire à la syntaxe utilisée dans le langage TypeScript. Actuellement, les modifications prototypes proposées pour inclusion dans la norme ECMAScript sont soumises pour discussions préliminaires (étape 0). Lors de la prochaine réunion du comité TC39 en mars, il est prévu de passer à la première étape d'examen de la proposition avec la participation de la communauté d'experts de l'ECMA.

Avoir des informations de type explicitement spécifiées vous permettra d'éviter de nombreuses erreurs pendant le processus de développement, d'utiliser des techniques d'optimisation supplémentaires, de simplifier le débogage et de rendre le code plus lisible et plus facile à modifier et à prendre en charge par des développeurs tiers. Il est proposé d'implémenter la prise en charge des types en tant que fonctionnalité facultative : les moteurs et environnements d'exécution JavaScript qui ne prennent pas en charge la vérification de type ignoreront les annotations contenant des informations de type et traiteront le code comme avant, en traitant les données de type comme des commentaires. Mais les outils de vérification de type pourront utiliser les informations disponibles pour identifier les erreurs associées à une utilisation incorrecte des types.

De plus, contrairement aux informations de type spécifiées à l'aide des annotations JSDoc spécifiées sous forme de commentaires, l'indication directe des types directement dans les constructions de définition de variable rendra le code plus visuel, plus compréhensible et plus facile à modifier. Par exemple, les IDE prenant en charge TypeScript seront capables de mettre immédiatement en évidence les erreurs dans le code JavaScript saisi sans conversions supplémentaires. De plus, la prise en charge intégrée des types permettra d'exécuter des programmes écrits dans des dialectes JavaScript typés, tels que TypeScript et Flow, sans transpiler d'un langage à un autre.

Il est proposé d'ajouter une syntaxe avec des informations de type au langage JavaScript

Parmi les types, il est proposé d'ajouter « string », « number » et « boolean », qui peuvent être utilisés lors de la définition de variables, de paramètres de fonction, d'éléments d'objet, de champs de classe, de tableaux typés (« number[] »). Il est également proposé de prendre en charge les types fusionnés (« string | number ») et les génériques. soit x : chaîne ; function add(a : nombre, b : nombre) { return a + b; } interface Personne { nom : chaîne ; âge : nombre ; } fonction foto (x : T) { retourner x ; } fonction foo(x: chaîne | nombre): chaîne | nombre { if (typeof x === number) { return x + 1 } else { return x + "!" } }

Source: opennet.ru

Ajouter un commentaire