pour le sur-ensemble de JavaScript
L'équipe TypeScript de Microsoft a annoncé récemment la sortie de la version 1.8 de son compilateur TypeScript quelques semaines seulement après la sortie de la version bêta.
L'actualité à ce sujet évoquait des fonctionnalités clés disponibles pour les utilisateurs. Comme le JavaScript dans la compilation TypeScript, le support étendu de React, etc.
Aujourd'hui, l'équipe insiste sur l'amélioration de la modularité, le système renforcé des types de littéraux et une meilleure analyse du flux de contrôle.
Nous avons déjà présenté ces évolutions, je ne vais donc pas entrer à nouveau dans les détails et en profiter pour parler d'autres nouveautés.
Voici d'ailleurs l'interprétation de la modularité :
Code typescript : | Sélectionner tout |
1 2 3 4 5 6 | // scale.ts export class Scale { weightOnEarth(mass) {} } // advancedScale.ts import { Scale } from "./scale" ; |
Code typescript : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // create augmentation for Scale declare module "./scale" { // Augment Core class via interface merging interface Scale { weightOnMoon(mass); // not everyone needs moon weight } } Scale.prototype.advancedMethod = /* insert implementation */; // consumer.ts import { Scale } from "./scale"; import "./advancedScale"; let scale: Scale; scale.weightOnMoon(10); // ok |
Amélioration des vérifications de type dans l'instruction for..in
Auparavant, le type d'une variable for..in était inféré à any. Cela permettait au compilateur d'ignorer les utilisations non valides dans le corps du for..in. Maintenant, le type est implicitement string. Ce qui a pour conséquence que lorsqu'un objet avec une signature d'index numérique de type T (par exemple un tableau) est indexé par un for..in (ou similaire), la valeur produite est de type T.
Code typescript : | Sélectionner tout |
1 2 3 4 | var a: MyObject[]; for (var x in a) { // Type of x is implicitly string var obj = a[x]; // Type of obj is MyObject } |
La version contient également :
- l'utilisation en mode strict pour la compilation selon les directives ES6 ;
- l'inclusion des fichiers .js dans la commande --allowJs ;
- la possibilité d'avoir des messages d'erreurs colorés en lignes de commande ;
- la coloration des balises JSX dans Visual Studio 2015 ;
- etc.
Source : Le site officiel de TypeScript
Et vous ?
Avez-vous testé ces nouveautés ? Qu'en pensez-vous ?
Retrouvez nos cours et tutoriels pour apprendre TypeScript