La dernière version prévue de la variante JavaScript de Microsoft avec syntaxe pour les types, a atteint le stade de release candidate (RC). Dans cette version, le système de types du langage est dorénavant capable de signaler les erreurs quand les variables n'ont jamais été initialisées. L’introduction de ces vérifications pour ces variables permet à l'équipe de TypeScript de résoudre une situation où les contrôles de TypeScript dans ce domaine ne fonctionnaient pas toujours. Par exemple, en cas d’accès à une variable non encore initialisée dans une fonction séparée, le système de type ne savait pas quand la fonction serait appelée, estimant plutôt de manière optimiste que la variable serait initialisée. Même si TypeScript 5.7 reste indulgent à l'égard des variables qui ont pu être initialisées, le système de types peut désormais signaler des erreurs quand les variables ne l’ont jamais été.

La version 5.7 propose également une nouvelle option de compilation, --rewriteRelativeImportExtensions. Quand un chemin d'importation est relatif et se termine par une extension TypeScript (.ts, .tsx, .mts, .cts), et qu'il s'agit d'un fichier sans déclaration, le compilateur réécrira le chemin vers l'extension JavaScript correspondante (.js, .jsx, .mjs, .cjs). À présent, il est possible d'écrire du code TypeScript exécutable sur place et compilé en code JavaScript lorsqu'il est prêt.

Les autres fonctionnalités

TypeScript 5.7 supporte --target es2024 pour le ciblage des runtimes ECMAScript 2024 par les développeurs. Par ailleurs, cette version prend en charge la mise en cache de la compilation V8 dans Node.js. Le langage dispose maintenant d’un comportement plus cohérent pour les méthodes dans les classes quand celles-ci sont déclarées avec des noms de propriétés calculés non littéraux. Quand une expression de fonction est typée contextuellement par une signature renvoyant un type générique, TypeScript fournit désormais une erreur implicite any sous noImplicitAny mais en dehors de strictNullChecks.

De même, lors du chargement d’un fichier TypeScript dans un éditeur utilisant TSServer (comme Visual Studio ou Visual Studio Code), l'éditeur essaiera de trouver le fichier tsconfig.json pertinent qui est « propriétaire » du fichier. Enfin, le langage appliquera dorénavant certaines règles pour éviter les erreurs d'exécution lors de l'importation d'un fichier .json sous --module nodenext.

La version candidate de TypeScript 5.7 a été introduite le 8 novembre. Elle succède à une version bêta livrée le 9 octobre. Elle est accessible via NPM à l'aide de la commande : npm install -D typescript@rc. La version TypeScript 5.6 précédente, publiée en septembre, apportait différentes fonctionnalités, dont l'interdiction des vérifications null et true sur la syntaxe qui ne varie jamais en termes de nullité ou de véracité.