BT

TypeScript 2.0 Beta apporte les Types d'Option, les Unions Discriminées et Plus Encore

| par Sergio De Simone Suivre 17 Abonnés , traduit par Nicolas Frankel Suivre 7 Abonnés le 18 juil. 2016. Durée de lecture estimée: 2 minutes |

Daniel Rosenwasser de Microsoft a annoncé la version bêta du TypeScript 2.0, qui apporte son lot de nouvelles fonctionnalités au langage, y compris les types non-nullable, l'analyse des flux de contrôle pour les types et les unions discriminées.

Rosenwasser précise que les types non-nullable visent à résoudre la source de bugs la plus courante en JavaScript : null et undefined. Les types non-nullable interdisent l'attribution de la valeur null à une variable, sauf si elle est déclarée comme un type d'option :

let foo1: string = null; // Error!
let foo2: string | null = null; // Type optionnel

Comme indiqué ci-dessus, les types d'option sont déclarés comme des types d'union, une autre nouvelle fonctionnalité de TypeScript 2.0. Les paramètres et les propriétés d'option appartiennent automatiquement aux types d'option. Les types d'options peuvent être utilisés via l'opérateur ! ou par des gardes de type :

let s: string | undefined = "string"; // Okay
if (s) {
    f(s);
}
let upperCase = s!.toUpperCase(); // Okay
let lowerCase = foo2.toLowerCase(); // Error

Les types non-nullable sont activés en TypeScript 2.0 en utilisant le paramètre --strictNullChecks.

TypeScript 2.0 introduit également une analyse de type à base de flux de contrôle pour les variables et les paramètres locaux. Cela représente une amélioration majeure par rapport à l'analyse de type de TypeScript et étend l'analyse de type pré 2.0 en incluant les effets des affectations et des constructions de contrôle de flux, par exemple return, break , etc.

Les constructeurs privés et protégés sont également une nouveauté de TypeScript 2.0. Ils peuvent être déclarés en utilisant les mots - clés private et protected. En outre, les propriétés peuvent maintenant être abstraites, ce qui oblige les sous-classes à fournir une définition pour leurs accesseurs :

abstract class A {
  abstract p;
}
class B extends A {
  get p() {...}
  set p(v) {...}
}

Outre les types null et undefined mentionnés ci-dessus, TypeScript 2.0 introduit également un nouveau type never, qui représente le type d'une valeur qui ne se produit jamais, comme une fonction qui ne retourne jamais ou une variable dans une condition de garde qui ne peut jamais être vraie :

// Function returning never must have unreachable end point
function error(message: string): never {
    throw new Error(message);
}

Il y a plus de nouvelles fonctionnalités dans TypeScript 2.0, telles que les propriétés en lecture seule et la signature d'index, la spécification du type de l'argument implicite this des fonctions, l'amélioration de la résolution du module et beaucoup d'autres.

Pour installer TypeScript 2.0 beta, vous pouvez le télécharger pour Visual Studio 2015 (ce qui nécessitera VS 2015 Update 3). Ou bien vous pouvez exécuter npm install -g typescript@beta.

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