Écrivez une division de 4 par un tableau vide : JavaScript l'exécute sans protester et affiche Infinity, alors que TypeScript bloque la ligne avant même le lancement. Tout l'écart entre les deux tient là. Le premier découvre les incohérences pendant que le programme tourne ; le second, que sa documentation officielle décrit comme l'exécution de JavaScript doublée d'un vérificateur de types à la compilation, les signale pendant l'écriture.
Autrement dit, un fichier JavaScript valide est déjà un fichier TypeScript valide. Ce qui change, c'est qu'un outil relit le code avant qu'il ne tourne et signale les incohérences : une fonction qui attend un nombre et reçoit un texte, une propriété mal orthographiée, une variable qui peut être vide au moment où on l'utilise.
TS, abréviation de TypeScript : la définition exacte
Dans le vocabulaire des développeurs, TS désigne TypeScript, de la même manière que JS désigne JavaScript. Les fichiers sources portent d'ailleurs l'extension .ts (et .tsx lorsqu'ils contiennent du JSX, la syntaxe utilisée avec React).
La documentation, publiée par Microsoft sur typescriptlang.org, qualifie TypeScript de sur-ensemble typé de JavaScript. Trois idées tiennent dans ces mots :
- sur-ensemble : toute la syntaxe JavaScript reste permise ; TypeScript ne considère aucun code JavaScript comme une erreur à cause de sa syntaxe ;
- typé : on peut préciser la nature des valeurs (nombre, chaîne, tableau, objet d'une forme donnée), ou laisser l'outil la déduire ;
- statique : le contrôle a lieu avant l'exécution, en lisant le code, et non pendant que le programme tourne.
Un exemple qui montre la différence
Revenons au cas volontairement absurde choisi par la documentation officielle. Face à cette division par un tableau vide, TypeScript rappelle que la partie droite d'une opération arithmétique doit être un nombre (ou un type assimilé). Le programme aurait fonctionné, mais il aurait produit un résultat que personne ne voulait.
C'est toute la logique de l'outil. JavaScript laisse passer beaucoup de choses et ne proteste qu'au moment où l'erreur se produit, parfois chez l'utilisateur final. TypeScript déplace la découverte de ces erreurs sur le poste du développeur.
Ce que TypeScript ne fait pas
C'est le point le plus mal compris, et celui que les pages concurrentes abordent le moins. La documentation est formelle : TypeScript ne change jamais le comportement à l'exécution du code JavaScript. Un code déplacé de JavaScript vers TypeScript est garanti de s'exécuter de la même façon, même si le vérificateur y trouve des erreurs de types.
Concrètement, plusieurs conséquences en découlent :
- les types sont effacés : une fois la vérification terminée, le compilateur retire toutes les annotations et produit un JavaScript qui ne contient plus aucune information de type ;
- aucune bibliothèque d'exécution n'est ajoutée : il n'existe pas de cadre propre à TypeScript à charger dans le navigateur ou sur le serveur ;
- aucun contrôle pendant l'exécution : si une donnée reçue d'un formulaire ou d'une API ne correspond pas au type annoncé, TypeScript ne l'arrêtera pas une fois le programme lancé. Il faut toujours valider les données qui viennent de l'extérieur.
Cette dernière limite explique pourquoi un projet en TS peut malgré tout planter. Le vérificateur raisonne sur ce que le développeur lui a déclaré ; si la déclaration est fausse, la garantie l'est aussi.

Pourquoi tant de projets passent au TS
Les bénéfices tiennent moins à la théorie qu'au travail quotidien dans un éditeur de code.
Des erreurs repérées pendant l'écriture
Une faute de frappe dans le nom d'une propriété, un argument oublié, un cas où une valeur peut être absente : en JavaScript, ces erreurs n'apparaissent qu'au moment où la ligne s'exécute. Avec TypeScript, l'éditeur les souligne au fil de la frappe. Sur un petit script, le gain est modeste ; sur une application de plusieurs milliers de lignes, il évite des heures de recherche.
Un code qui se documente lui-même
Lire la signature d'une fonction typée suffit à savoir ce qu'elle attend et ce qu'elle renvoie. Pour une équipe, c'est une documentation qui ne peut pas se désynchroniser du code, puisque le compilateur la vérifie à chaque modification.
Une autocomplétion et des renommages fiables
Comme l'éditeur connaît la forme des objets, il propose les bonnes propriétés et peut renommer une fonction partout où elle est utilisée sans risque d'oubli. C'est l'avantage que les développeurs citent le plus souvent après la détection d'erreurs.
Une adoption progressive
Puisque tout JavaScript est déjà du TypeScript, on n'a pas besoin de tout réécrire. Un projet peut convertir ses fichiers un par un, en commençant par les plus sensibles, et durcir les règles ensuite.
Les contreparties à connaître
TypeScript n'est pas gratuit en effort, et les meilleurs articles sur le sujet le reconnaissent.
| Point | Avec JavaScript seul | Avec TypeScript |
|---|---|---|
| Étape avant exécution | Aucune | Vérification puis compilation en JavaScript |
| Erreurs de types | Découvertes à l'exécution | Signalées dans l'éditeur |
| Apprentissage | Le langage seul | Le langage plus le système de types |
| Comportement du programme | Celui de JavaScript | Identique, types effacés |
| Contrôle des données externes | À écrire soi-même | Toujours à écrire soi-même |
La première contrepartie est l'étape de compilation : le navigateur et Node.js exécutent du JavaScript, il faut donc transformer les fichiers .ts avant de les lancer, ce qui ajoute un outil à la chaîne de travail. La deuxième est le temps d'apprentissage : les types génériques, les unions ou le rétrécissement de type (narrowing, la manière dont TypeScript affine un type selon les tests écrits dans le code) demandent un vrai effort au début. La troisième est le risque de passer du temps à satisfaire le vérificateur sur du code jetable.
Quand choisir TS, et quand s'en passer
Le choix dépend surtout de la taille du code et du nombre de personnes qui le touchent.
TypeScript se justifie pour une application destinée à durer, un code partagé entre plusieurs développeurs, une bibliothèque publiée pour d'autres, ou un projet appuyé sur un framework moderne qui propose déjà des modèles typés. Plus le code vit longtemps, plus la vérification rapporte.
JavaScript seul reste raisonnable pour un prototype, un petit script d'automatisation, une page avec quelques interactions, ou un apprentissage des bases de la programmation. Dans ce dernier cas, commencer par JavaScript permet de comprendre ce que TypeScript vient contrôler, avant d'ajouter la couche de types.
Pour un élève ou un étudiant qui découvre le développement web, les supports de cours et les consignes de projet arrivent souvent par l'environnement numérique de l'établissement, comme la messagerie académique SOGo de Lille ou le webmail de l'académie de Lyon : c'est généralement là que l'enseignant précise s'il attend du JavaScript ou du TypeScript.

Installer TypeScript et compiler un premier fichier
La page officielle de téléchargement décrit la démarche ; elle indique, à la date de rédaction de cet article (octobre 2026), une version courante 7.0.
- Installer Node.js, l'environnement qui fait tourner le paquet TypeScript : la documentation précise qu'il en faut une copie sur la machine.
- Ajouter TypeScript au projet avec la commande npm install typescript --save-dev, lancée dans le dossier du projet. Le paquet s'appelle simplement typescript sur le registre npm ; yarn et pnpm proposent des commandes équivalentes.
- Lancer le compilateur avec npx tsc. Il lit les fichiers .ts, signale les erreurs de types et produit les fichiers JavaScript correspondants.
- Configurer le projet dans un fichier tsconfig.json, qui fixe notamment le degré de sévérité des contrôles. Activer le mode strict dès le départ évite d'accumuler des approximations difficiles à corriger plus tard.
Une installation globale existe aussi, avec npm install -g typescript. La documentation recommande pourtant, sur le long terme, une installation par projet : chaque machine utilise alors la même version, et la compilation donne le même résultat partout.
Les outils qui retirent les types sans les vérifier
Babel, swc ou Sucrase savent convertir du TypeScript en JavaScript, souvent plus vite que le compilateur officiel. La page de téléchargement souligne leur limite : ils retirent les types mais ne les vérifient pas. On les associe donc à une vérification séparée par tsc, et la documentation conseille d'activer l'option isolatedModules pour que le code reste compatible avec ce mode de conversion fichier par fichier.
Questions fréquentes
Que veut dire TS en programmation ?
TS est l'abréviation de TypeScript, comme JS est celle de JavaScript. Le sigle sert aussi d'extension aux fichiers sources (.ts), ce qui explique qu'on parle couramment d'un « fichier TS » ou d'un « projet en TS ».
TypeScript remplace-t-il JavaScript ?
Non. TypeScript s'appuie sur JavaScript : tout code JavaScript valide est accepté, et le résultat de la compilation est du JavaScript standard. Le navigateur ou Node.js n'exécutent jamais directement les types, qui sont effacés.
TypeScript rend-il le code plus rapide ?
Non. La documentation indique que TypeScript ne modifie jamais le comportement du programme à l'exécution et n'ajoute aucune bibliothèque. Le gain porte sur la fiabilité et la maintenance, pas sur la vitesse.
Faut-il connaître JavaScript avant d'apprendre TypeScript ?
C'est préférable. TypeScript reprend toute la syntaxe et le fonctionnement de JavaScript ; sans ces bases, il est difficile de comprendre ce que le vérificateur reproche au code.
TypeScript est-il gratuit ?
Oui. Le compilateur est distribué comme paquet sur le registre npm, et la documentation comme le code du site officiel sont publiés en open source par Microsoft.
Peut-on passer un projet JavaScript existant en TypeScript ?
Oui, et progressivement : comme le JavaScript est déjà du TypeScript valide, on peut renommer les fichiers un à un, corriger les erreurs signalées, puis renforcer les règles du tsconfig.json au fil de la migration.
Sources et références
- TypeScript (Microsoft), TypeScript for the New Programmer / TypeScript for JavaScript Programmers — www.typescriptlang.org
- TypeScript (Microsoft), How to set up TypeScript — www.typescriptlang.org


