BT

TypeScript 2.1 publié

| par David Iffland Suivre 4 Abonnés , traduit par Nicolas Frankel Suivre 8 Abonnés le 14 déc. 2016. Durée de lecture estimée: 2 minutes |

Microsoft a publié TypeScript 2.1, apportant une série de fonctionnalités qui réduisent le typage inutile et rationalisent la chaîne d'outils.

Avant cette version, TypeScript supportait async/await, mais seulement avec comme cible ES2015. Cela fonctionnait bien si le code était destiné à être exécuté dans un environnement avancé uniquement, mais se révélait inadapté pour ceux qui développent pour tous les navigateurs dans la nature. Les développeurs devaient ajouter un transpileur supplémentaire (comme Babel) à leur chaîne d'outils afin de rendre le code utilisable par tous les navigateurs.

Avec 2.1, TypeScript peut émettre async/await dans un code compatible ES3/ES5, ce qui rend Babel caduque.

Pour les développeurs TypeScript travaillant avec React, l'absence de l'opérateur de décomposition signifiait soit une modification du code, soit l'ajout de Babel pour le gérer. Dans React, l'opérateur d'étalement est souvent utilisé lors du passage de propriétés à un composant de niveau inférieur ou lors d'une changement d'état. Pour y parvenir dans TypeScript pre-2.1, il faut ajouter Babel pour gérer la transformation. L'opérateur de décomposition est également utile dans d'autres cas, mais sans lui, les développeurs ont besoin d'utiliser la fonction JavaScript object.assign pour combiner des objets. Le résultat est identique mais l'opérateur de décomposition réduit considérablement la quantité de code nécessaire et améliore la lisibilité.

Alors qu'async/await et l'opérateur de décomposition étaient disponibles dans Babel depuis un certain temps, Daniel Rosenwasser, le responsable du Programme TypeScript a indiqué que le retard de la 2.1 était pour garantir que le système de type continuait à fonctionner comme prévu :

Lorsque nous mettons en œuvre une fonctionnalité dans TypeScript, nous prenons des mesures pour nous assurer qu'il est typé correctement et que ses caractéristiques en termes de performance sont raisonnables. Cela signifie que lorsque vous utilisez le rest/décomposition de l'objet, nous ne voulions pas délivrer uniquement une expérience où le type est effectivement any, ce qui aurait conduit les utilisateurs à être frustrés s'ils faisaient une erreur. Avec async/await, nous avons dû réécrire notre pipeline d'émission, ce qui signifiait que nous devions conserver la parité entre les deux sorties et le temps d'émission. L'investissement s'est révélé payant et TypeScript est encore extrêmement rapide.

Dans l'Annonce de TypeScript 2.1, Rosenwasser énumère de nombreuses autres nouvelles fonctionnalités telles que l'opérateur keyof, des imports plus faciles et les types mappés. Rosenwasser affirme que les types mappés sont "certainement la caractéristique la plus intéressante dans TypeScript 2.1", en évitant aux développeurs d'avoir à créer des variantes entièrement nouvelles d'objets existants lorsque les propriétés sont en gros les mêmes. A propos de l'amélioration de l'expérience des imports, Rosenwasser dit que la solution devenait plus souple :

Nous avons décidé que TypeScript doit être plus fiable et dans TypeScript 2.1, tant que vous avez un paquet installé, vous pouvez l'utiliser.

TypeScript 2.1 est disponible dans tous les canaux habituels.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT