Le nouvel opérateur TypeScript détecte les erreurs de codage

TypeScript 4.9 de Microsoft, une mise à niveau prévue du langage populaire et fortement typé qui s’appuie sur JavaScript, est désormais disponible en tant que version de production. La mise à jour comporte un satisfies opérateur qui peut intercepter les erreurs.

Avec satisfies, les développeurs peuvent vérifier que le type d’une expression correspond à un certain type, sans modifier le type résultant de l’expression. Cet opérateur peut être utilisé pour intercepter d’éventuelles erreurs, comme s’assurer qu’un objet possède toutes les clés d’un certain type, mais pas plus que cela.

Toujours dans TypeScript 4.9, le in L’opérateur a été rendu plus puissant lors de la réduction des types qui ne répertorient pas la propriété. Au lieu de les laisser tels quels, le langage croisera leurs types avec Record<”property-key-being-checked”, unknown>.

TypeScript 4.9 renforce également les contrôles sur la façon dont in est utilisé, pour s’assurer que des clés de propriété valides sont utilisées.

Introduit le 15 novembre, après les étapes bêta et de release candidate, TypeScript 4.9 peut être téléchargé via NuGet ou via NPM à l’aide de la commande suivante :

npm install -D typescript

Autres nouvelles fonctionnalités et améliorations de TypeScript 4.9 :

  • La surveillance des fichiers est alimentée par défaut par les événements du système de fichiers, ne revenant à l’interrogation que si les développeurs ne parviennent pas à configurer les observateurs basés sur les événements. Cela devrait fournir une expérience moins gourmande en ressources lors de l’exécution –-watch mode ou exécuté avec un éditeur alimenté par TypeScript comme Visual Studio Code ou Visual Studio.
  • Promise.resolve utilise maintenant le Awaited type pour déballer les types de type Promise qui lui sont transmis. Cela signifie qu’il renvoie plus souvent le droit Promise type, mais ce type amélioré peut casser le code existant s’il attendait any ou unknown au lieu d’une Promise.
  • TypeScript se trompe désormais sur les comparaisons directes avec la valeur NaN et suggérera une certaine variation de Number.isNAN Au lieu.
  • TypeScript prend désormais en charge une fonctionnalité à venir dans ECMAScript, appelée auto-accesseurs, qui sont déclarées comme les propriétés dans les classes, sauf qu’elles sont déclarées avec le accessor mot-clé.
  • Pour améliorer les performances, le forEachChild La fonction a été réécrite pour utiliser une recherche de table de fonctions au lieu d’une instruction switch sur les nœuds de syntaxe. De plus, la façon dont TypeScript conserve les informations sur un type dans la vraie branche d’un type conditionnel a été optimisée.
  • Pour optimiser les types de substitution, SubstitutionType les objets ne contiennent plus la propriété de substitution représentant la substitution effective. Au lieu de cela, ils contiennent simplement le constraint propriété.

TypeScript 5.0 est prévu en tant que version bêta le 24 janvier 2023, avec une version candidate fixée pour le 28 février et une version de production prévue pour le 14 mars. TypeScript 4.8 a été livré le 25 août, apportant des améliorations d’exactitude et de cohérence ainsi que des correctifs de surveillance de fichiers. .

TypeScript est en plein essor. Le rapport 2022 sur l’état de la livraison de logiciels de CircleCI a révélé que TypeScript avait dépassé JavaScript en tant que langage devops le plus populaire. CircleCI a cité la convivialité pour les développeurs comme raison de cette augmentation.

Le prédécesseur TypeScript 4.8 a été livré le 25 août, apportant des améliorations d’exactitude et de cohérence ainsi que des correctifs de surveillance de fichiers.

Copyright © 2022 IDG Communications, Inc.