Developpez.com - Rubrique TypeScript

Le Club des Développeurs et IT Pro

TypeScript 1.8 : types de littéraux, let/const, support de React

Pour le sur-ensemble de JavaScript

Le 2016-02-23 14:27:02, par vermine, Expert éminent sénior
TypeScript 1.8 : types de littéraux, let/const, support de React
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 :
1
2
3
4
5
6
// scale.ts 
export class Scale { 
    weightOnEarth(mass) {} 
} 
// advancedScale.ts 
import { Scale } from "./scale" ;


Code typescript :
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 :
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
  Discussion forum
1 commentaire