Microsoft présente les futures fonctionnalités de la version 1.4 de TypeScript

Le , par yahiko, Rédacteur/Modérateur
Microsoft présente les futures fonctionnalités de la version 1.4 de TypeScript


L'équipe TypeScript de Microsoft semble mettre les bouchées doubles depuis la mise en production du compilateur. La version 1.1 sortie il y a un mois et la version 1.3 encore toute récente, les fonctionnalités de la future version 1.4 viennent d'être présentées sur le blog officiel du langage. Elles sont déjà implémentées et sont en cours de test dans la branche principale du dépôt GitHub.

Alors que la version 1.3 se focalisait surtout sur l'enrichissement de l'API du compilateur afin d'améliorer son intégration dans les éditeurs et les environnements de développement intégré, la version 1.4 revient sur l'amélioration du langage en lui-même. En voici les principales nouveautés :

Unions de types
Une variable peut désormais être de plusieurs types hétérogènes.
Code : Sélectionner tout
1
2
3
4
interface RunOptions { 
  program: string; 
  commandline: string[]|string; 
}
Gardes de type
Les conditions typeof et instanceof peuvent permettre à TypeScript d’aiguiller le type d'une variable pendant l'exécution.
Code : Sélectionner tout
1
2
3
4
5
6
var x: any = /* ... */; 
if(typeof x === 'string') { 
   console.log(x.subtr(1)); // Error, 'subtr' does not exist on 'string' 
} 
// x is still any here 
x.unknown(); // OK
Alias de type
Il est possible de donner un nom personnalisé à un type ou à une union de type.
Code : Sélectionner tout
1
2
3
4
type PrimitiveArray = Array<string|number|boolean>; 
type MyNumber = number; 
type NgScope = ng.IScope; 
type Callback = () => void;
Amélioration de l'inférence de type
L'inférence de type, notamment concernant les tableaux, a été améliorée.

Source : présentation officielle

Et vous ?

Ces nouvelles fonctionnalités vous seront-elles utiles ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de vermine vermine - Responsable JavaScript & AJAX http://www.developpez.com
le 19/01/2015 à 14:23
TypeScript 1.4 : les unions types, les alias, la portée des variables, etc.
L'outil de Microsoft s'enrichit de nouveautés orientées ECMAScript 6


L'équipe TypeScript de Microsoft a annoncé la sortie de la version 1.4 qui porte sur la construction de nouvelles fonctionnalités qui permettent de travailler avec plusieurs modèles JavaScript, de créer des typages plus riches et d'utiliser les nouvelles fonctionnalités de l'ES6.

Les types

Des adaptations ont été faites sur les types. Notamment sur les Union Types. Désormais, il est possible de spécifier qu'une valeur est d'un ou plusieurs types potentiels différents. Pour manipuler cette valeur, il est conseillé d'utiliser les méthodes typeof ou instanceof. Voici un exemple avec le passage d'un paramètre à une fonction :

Code typescript : Sélectionner tout
1
2
3
4
5
6
7
8
function f(x: number | number[]) { 
  if (typeof x === "number") { 
    return x + 10; 
  } 
  else { 
    // return sum of numbers 
  } 
}

Notons également la possibilité de définir un alias pour un type particulier dont vous aurez besoin à plusieurs reprises. C'est grâce au mot clef type que cela est possible :

Code typescript : Sélectionner tout
1
2
3
4
type PrimitiveArray = Array<string|number|boolean>; 
type MyNumber = number; 
type NgScope = ng.IScope; 
type Callback = () => void;


Le support de ECMAScript 6

L'un des principaux objectifs pour la prochaine version (2.0) est de supporter pleinement la norme ECMAScript 6. La version 1.4 apporte par exemple un nouveau mode de sortie, l'option ES6 :

Code : Sélectionner tout
> tsc --target ES6 myfile.js
Cette option est indispensable pour les fonctions ES6 qui ne peuvent pas s'apliquer à ES3 ou ES5.

On découvre également la gestion de let et const. La première est une fonctionnalité similaire à var mais elle vise à augmenter les possibilités au niveau de la portée de la variable. Avec let, vous pouvez restreindre la portée des variables à des blocs de code au lieu de la fonction entière. Par exemple :

Code typescript : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
function f() { 
  let total = 0; 
  let x = 5; 
  for (let x = 1; x < 10; x++) { 
    total += x; 
  } 
  console.log(x); 
} 
  
f(); // outputs 5

Finalement, un travail a été fait pour adopter le système des template strings de ES6 qui peuvent être intégrées à des chaines de caractères et être correctement interprétées. Cette fonctionnalité peut même être compilée en des expressions ES3 ou ES5.

Code typescript : Sélectionner tout
1
2
var rectangle = { height: 20, width: 10 }; 
var areaMessage = 'Rectangle area is ${rectangle.height * rectangle.width}';

Pour l'instant, l'équipe propose également de travailler sur les fonctions Asynch, également connues sous les noms de async..await. Elles offrent la possibilité d'exécuter du code et d'attendre le résultat sans pour autant bloquer l'exécution des instructions suivantes.

L'article sur le blog officiel.

Et vous ?

Utilisez-vous TypeScript et qu'en pensez-vous ?
Quel est votre avis sur ces nouveautés ?
Offres d'emploi IT
Architecte de données (H/F)
Société Générale - Ile de France - Ile de France
Chef de projet SI confirmé (H/F)
Société Générale - Ile de France - Val-de-Fontenay
Analyste SI-métier (H/F)
Société Générale - Ile de France - Val-de-Marne

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique TypeScript : Xavier Lecomte - Lana Bauer -