du 28 février 2020
Date

Choisir une autre édition

TypeScript 3.8 intronise une nouvelle syntaxe pour l’import/export des types

La nouvelle version du langage de script, publiée le 20 février, vient régler une ambiguïté qui pouvait s’avérer pénible pour les développeurs.

Jusqu’ici, l’importation ou l’exportation des types se faisait par élision, ce qui pouvait créer un flou. D’une part, l’élision de TypeScript pouvait engendrer une confusion entre les types et les valeurs. D’autre part, les importations ne comportant que des types étaient tout simplement supprimées.

Pour palier ces problèmes, TypeScript 3.8 reprend la syntaxe de JavaScript : 

import type { SomeThing } from "./some-module.js";
export type { SomeThing };

Microsoft précise plusieurs avantages, en plus de simplifier ces opérations particulières. Les instructions sont ainsi réservées aux annotations et déclarations de type. Elles sont toujours supprimées à la transposition. À la compilation, le drapeau importsNotUsedAsValues permet de suivre le devenir des importation non utilisées.

TypeScript 3.8 introduit également les champs privés, qui proviennent de la norme ECMAScript. Ils sont marqués par un # et sont limités à leur seule classe de contenu. Ils sont clairement destiné aux mesures renforcées de vie privée

Les modificateurs TypeScript comme public et private ne peuvent pas y être utilisés. Enfin, on ne peut pas accéder aux champs privés depuis l’extérieur de leur classe. Ils ne sont d’ailleurs même pas détectables.

Parmi les autres améliorations, signalons la prise en charge d’ECMAScript 2020 comme option pour module et target, ainsi que la syntaxe export * permettant d’exposer tous les membres d'un module comme un seul. 

L'installation ou la mise à jour de TypeScript se font via NuGet, par la commande : 

npm install typescript
chargement Chargement des commentaires...