La prochaine version majeure de TypeScript annoncée par Microsoft viendra avec le support des types non Nullable en juin 2016. Avant de parler de type non Nullable, qu'est-ce que c'est d'abord un type Nullable ? Un type Nullable est lié à un type sous-jacent. Il peut représenter la plage correcte de valeurs pour son type sous-jacent, plus une valeur null supplémentaire. Par exemple, un Nullable<Int32>, prononcé « Nullable d'Int32 », peut avoir une valeur comprise entre -2147483648 et 2147483647, ou la valeur null, même si null ne fait pas partie du type Int32.
D’après Anders Hejlsberg, un collaborateur de Microsoft et développeur de TypeScript, l’ajout des types non Nullable faisait partie de l’une des caractéristiques les plus demandées pour les versions à venir du langage dans la communauté. Hejlsberg ajoute que les types non Nullable utilisent un commutateur de compilateur appelé « strict null checks ». La philosophie derrière « strict null checks » est de dire que les valeurs « null » et « undefined » ne peuvent plus faire partie de tous les types. En effet, poursuit Hejlsberg, « un nombre est un nombre, une chaine de caractères est une chaine de caractères. Un booléen a deux valeurs possibles, vrai ou faux, il ne peut pas être null ou indéfini ».
Le résultat de ces changements à venir pour le langage open source de Microsoft est la création de deux nouveaux types. Le premier type ne peut avoir qu’une seule et unique valeur possible à savoir la valeur « undefined ». Le deuxième type qui sera introduit dans la version à venir de TypeScript sera le type null. Ces deux types peuvent être mis ensemble avec d’autres types en utilisant des types d’union. Le programmeur gardera ainsi la possibilité de déclarer par exemple une variable qui peut être un nombre, mais qui peut aussi prendre la valeur « null » ou « undefined ». Pour ce faire, il doit déclarer la variable en utilisant des types d’union, d’après Hejlsberg.
Les types non Nullable et ceux basés sur le contrôle de flux prévus pour la prochaine version de TypeScript apportent une assurance quant à l’effectivité de l’analyse et du contrôle de flux des affectations au niveau des types des variables déclarées en local. Les paquets relatifs à la déclaration des types peuvent être installés en utilisant le gestionnaire de paquets NPM. Ce choix se justifie par le fait que NPM est un gestionnaire de paquets JavaScript largement utilisé, d’après Hejlsberg. Ce gestionnaire de paquets peut donc servir pour gérer les dépendances entre les déclarations.
La version 2.0 de TypeScript sera aussi enrichie avec d’autres fonctionnalités telles que les propriétés de lecture seule et le support des anciennes propriétés async/await. Ces deux dernières propriétés citées permettaient d’écrire avec TypeScript du code asynchrone de la même manière qu’un code synchrone donnant la possibilité de ne pas utiliser des gestionnaires d’événements ou autres fonctions de rappel. D’après la société, à l’époque de l’introduction de ces propriétés, elles ne pouvaient être utilisées que par les développeurs utilisant Node.js 4 ou une version ultérieure.
Hejlsberg a aussi brièvement parlé de TypeScript 2.1 et les versions ultérieures. Les fonctionnalités qui sont envisagées sont principalement un nouveau service du langage JavaScript à inclure dans la plateforme de développement Visual Studio de Microsoft ainsi que le support plus avancé du réusinage de code, cette opération consistant à retravailler le code source d'un programme informatique de façon à en améliorer la lisibilité et par voie de conséquence la maintenance, ou à le rendre plus générique. La version la plus récente de TypeScript, la version 1.8, était sortie en février dernier et permettait une compilation plus rapide par rapport à ses prédécesseurs.
Hejlsberg conclut en disant que JavaScript n’était pas un langage prédestiné à écrire de grandes applications, mais il est souvent utilisé à cette fin. C’est pourquoi, d’après lui, TypeScript a été créé. Conçu pour faire de JavaScript un langage plus évolutif, TypeScript a été utilisé dans le développement de Frameworks comme Angular ou encore Dojo Toolkit, a fait noter Hejlsberg. Le but de TypeScript, selon lui, est de rendre plus facile le développement de grandes applications voire de moins grandes en JavaScript.
Source : Microsoft's Build conference 2016
Et vous ?
Qu'en pensez-vous ?
Voir aussi
le forum TypeScript
Microsoft annonce TypeScript 2.0 pour le mois de juin prochain
La nouvelle version du langage viendra avec le support des types non Nullable
Microsoft annonce TypeScript 2.0 pour le mois de juin prochain
La nouvelle version du langage viendra avec le support des types non Nullable
Le , par Victor Vincent
Une erreur dans cette actualité ? Signalez-nous-la !