TypeScript 4.7 est maintenant officiellement publié.
Aperçu des nouvelles fonctionnalités
- Prise en charge du module ECMAScript dans Node.js
- Contrôle de détection de module
- Analyse du flux de contrôle de l'accès aux éléments entre parenthèses
- Amélioration du raisonnement fonctionnel dans les objets et les méthodes
- expression instanciée
infer
Contraintes pour les variables de typeextends
- Annotations de variance facultatives pour les paramètres de type
- Personnalisation de la résolution avec moduleSuffixes
resolution-mode
- aller à la définition de la source
- Importation d'organisations compatibles avec les groupes
- Fragment de méthode d'objet terminé
- Changements avec rupture
Quoi de neuf depuis la version bêta ?
L'équipe de développement a annoncé l' objectif stable pour la prise en charge de Node ESM en version bêta , car node12
cependant, étant donné que Node.js 12 n'est plus en maintenance, il est temps de passer à autre chose node16
. Cela devrait fournir de nouvelles fonctionnalités de module ES à partir de Node.js (comme pattern trailers) , tout en définissant par défaut TypeScript sur une cible supérieure qui prend en charge l'attente de niveau supérieur.
Depuis la version bêta, la syntaxe fonctionne toujours pour les directives ; cependant, les responsables ont reçu des commentaires à ce sujet et souhaitent reconsidérer les exigences et la conception de la fonctionnalité. Uniquement disponible à titre expérimental dans la version nocturne de TypeScript .resolution-mode
/// <reference types="..." />
import type
resolution-mode
import type
Après la bêta, l'équipe de développement a pris conscience de problèmes de compatibilité de l'API avec les #private
champs . typeof
Par conséquent, la fonctionnalité n'apparaîtra pas dans TypeScript 4.7.
Cette version inclut également une nouvelle commande d'éditeur d'aperçu pour accéder aux définitions de source. Utile dans les cas où la commande normale Aller à la définition vous amène à un fichier de déclaration au lieu de la source JavaScript ou TypeScript réelle.
Il y a également eu quelques changements de rupture depuis la version bêta , y compris strictNullChecks
des règles concernant des contraintes de paramètres de type plus strictes dans et l'analyse des fonctions fléchées ont été supprimées. Mais certains changements apparemment anodins ont introduit des règles plus strictes concernant les génériques utilisés dans les spreads JSX et les chaînes de modèle.
Aller à la définition de la source
TypeScript 4.7 inclut la prise en charge d'une nouvelle commande d'éditeur expérimentale appelée Go To Source Definition. Il est similaire à Go To Definition, mais ne renvoie jamais le résultat dans le fichier de déclaration. Au lieu de cela, il essaiera de trouver le fichier d'implémentation correspondant (tel qu'un fichier .js ou .ts) et d'y trouver la définition - même si ces fichiers sont généralement masqués.
Cette fonctionnalité est généralement pratique lorsque vous avez besoin de voir l'implémentation d'une fonction importée d'une bibliothèque, plutôt que la déclaration de type dans un fichier.d.ts
Achèvements d'extraits de méthode d'objet
TypeScript fournit désormais la complétion de fragment pour les méthodes d'objet. Lors de la complétion des membres dans un objet, TypeScript fournira une entrée de complétion typique pour le nom de la méthode et une entrée de complétion distincte pour la définition complète de la méthode.
Plus de détails peuvent être trouvés dans l'annonce de sortie .