Anders Hejlsberg est revenu à la conférence Build de Microsoft en 2016 pour parler de l'état actuel de TypeScript et montrer quelques fonctionnalités étonnantes à venir dans les prochains mois.
Hejlsberg a scindé son exposé en trois parties principales, en utilisant les 15 premières minutes pour raconter l'histoire de TypeScript. "TypeScript : le JavaScript qui scale" est la manière dont il a décrit le langage , son objectif étant de combler le "fossé de fonctionnalités de JavaScript". Les démos montraient la vérification basique de type, l'achèvement de déclaration et comparait la sortie du compilateur à la source.
Après la brève introduction, il a montré ce qui a changé depuis Build 2015. L'équipe a une cadence de 3 à 4 mois, ce qui a abouti à 4 versions principales au cours de l'année.
Dans une démo Angular 2, Hejlsberg a montré comment intégrer le compilateur TypeScript dans le navigateur, éliminant de fait l'étape supplémentaire de recompilation de code après un changement de fichier.
Il a pris la même application de démonstration et l'a réitéré à l'aide de React, montrant la capacité de TypeScript à comprendre JSX, la technologie de balisage intégré favorisée par les développeurs React. Pour enfoncer le clou, il a refactorisé le nom d'un composant et a montré comment TypeScript a mis à jour toutes les références au composant sur l'ensemble du projet, y compris dans le code JSX intégré. L'intégration avec webpack et le chargeur TypeScript étaient inclus dans la démo.
Ce vers quoi nous nous dirigeons avec nos outils - Visual Studio et Visual Studio Code - utilise en fait l'infrastructure TypeScript comme notre service de langage pour JavaScript. Visual Studio Code a déjà commencé à l'utiliser.
Ce service de langage est appelé Salsa et Visual Studio Code l'utilise depuis la version 0.10.10.
Le compilateur TypeScript modifié peut utiliser toutes les informations jsdoc fournies par le développeur. En outre, s'il existe des fichiers TypeScript d'enregistrement dans un projet, Salsa peut les utiliser pour fournir l'achèvement de déclaration pour le bon vieux JavaScript. TypeScript non nécessaire.
Au cours des 15 dernières minutes, il a été question de l'avenir de TypeScript. Pour TypeScript 2.0, la feuille de route actuelle se compose de :
- Types non-null
- Flux de contrôle basé sur l'analyse de type
- Support d'async / await downlevel
- Propriétés en lecture seule
- Type 'this' déclaré dans les fonctions
- Acquisition des améliorations de typages
La version 2.0 devrait être achevée dans "quelques mois".
En ce qui concerne les prochains types non-null, une nouvelle option de compilation appelée strictNullChecks
est disponible pour éliminer la possibilité pour un type d'être undefined
ou null
. Un number
peut uniquement être un nombre, jamais undefined
ou null
.
Après avoir montré les nouveaux types non-null dans une démo et une analyse de contrôle de flux basé sur le type dans sa base de code, Hejlsberg a pu annoncer : "Ce code n'a pas de bugs".
Une démo impressionnante à la fin de la présentation a fait la preuve de la force des nouveaux contrôles de type TypeScript et comment il peut facilement faire face au comportement parfois confus de JavaScript. "JavaScript a quelques bizarreries, mais vous pouvez apprendre à un compilateur ces bizarreries et vous pouvez lui faire vérifier toutes ces choses", a-t-il dit, ajoutant: "C'est fou !".
Regardez l'ensemble de la chaîne 9 "Quoi de neuf en TypeScript" pour plus de détails sur où TypeScript s'engage.