IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

TypeScript 3.0 est disponible en version stable :
Un aperçu des nouveautés de cette version majeure du surensemble typé de JavaScript

Le , par Michael Guilloux

364PARTAGES

14  0 
Le 31 juillet, Microsoft a annoncé la disponibilité de la version stable de TypeScript 3.0. Les nouveautés de cette nouvelle version majeure du surensemble typé de JavaScript ont été en grande partie présentées ici lors de la RC que Microsoft a annoncée le 12 juillet.

TypeScript 3.0 permet par exemple le référencement de projets TypeScript externes, grâce à une nouvelle fonctionnalité appelée « Références de projet » ; une fonctionnalité que Microsoft considère d'ailleurs comme l'une des plus importantes sur lesquelles son équipe a travaillé dans cette version du surensemble typé de JavaScript. Concrètement, les références de projet permettent aux projets TypeScript de dépendre d'autres projets TypeScript, notamment en permettant aux fichiers tsconfig.json de référencer d'autres fichiers tsconfig.json. La spécification de ces dépendances facilite aussi la division de votre code en projets plus petits. Ci-dessous un aperçu de ce à quoi ressemble un tsconfig.json avec des références de projet :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// ./src/bar/tsconfig.json
{
    "compilerOptions": {
        // Needed for project references.
        "composite": true,
        "declaration": true,
 
        // Other options...
        "outDir": "../../lib/bar",
        "strict": true, "module": "esnext", "moduleResolution": "node",
    },
    "references": [
        { "path": "../foo" }
    ]
}
Il y a deux nouveaux champs à noter ici : composite et references. Le champ references spécifie simplement les autres fichiers tsconfig.json (ou les dossiers qui les contiennent directement). Chaque référence n'est actuellement qu'un objet ne contenant qu'un champ path, et indique à TypeScript que la génération du projet en cours nécessite une génération préalable des autres projets référencés. Le champ composite, quant à lui, garantit que certaines options sont activées afin que ce projet puisse être référencé et généré de façon incrémentale pour tout projet qui en dépend.


Comme autres fonctionnalités de TypeScript 3.0, Microsoft met en avant l'extraction et l'expansion de listes de paramètres avec des n-uplets, l'enrichissement du typage des n-uplets et le type unknown. Ce nouveau type est similaire (à quelques différences près) à any, le type le plus permissif de TypeScript. Tout comme any, n'importe quelle valeur est assignable à unknown . Cependant, contrairement à any, nous ne pouvons pas accéder aux propriétés sur les valeurs avec le type unknown, ni les appeler / construire. De plus, les valeurs de type unknown ne peuvent être affectées uniquement qu'à des valeurs de type unknown ou any.

Dans le billet relatif à l'annonce de la version stable de TypeScript 3.0, Microsoft cite encore, parmi les principales nouveautés, des améliorations des messages d'erreur et de l'expérience utilisateur, mais aussi une meilleure prise en charge de ReactJS, ainsi que des améliorations de productivité lors de l'édition de code TypeScript. Vous trouverez plus de détails sur ces nouveautés et la liste exhaustive des changements sur le blog TypeScript.

Source : Blog TypeScript

Et vous ?

Utilisez-vous TypeScript ?
Qu'en pensez-vous par rapport aux autres langages de la famille JavaScript ?
Que pensez-vous des nouveautés de cette version ?
Qu'attendez-vous pour les versions à venir ?

Une erreur dans cette actualité ? Signalez-nous-la !