Anaïs Sparesotto
TypeScript · IntermédiaireIntermédiaire≈ 2h15 · 8 chapitres

TypeScript : typer son JavaScript

Annotations, interfaces, unions, génériques, null safety et configuration. Ajoute une couche de types à JavaScript pour attraper les bugs avant l'exécution.

À la fin du cours, tu sais

  • Comprendre ce que TypeScript ajoute à JavaScript et comment il se compile
  • Annoter des variables et laisser l'inférence travailler pour toi
  • Modéliser des données avec les interfaces et les types
  • Combiner des types avec les unions et les types littéraux
  • Typer précisément les fonctions (paramètres, retour, optionnels)
  • Écrire du code réutilisable avec les génériques
  • Éliminer les erreurs de null avec la null safety de TypeScript

Prérequis

  • Maîtriser les bases de JavaScript (voir le cours « Les bases de JavaScript »)
  • Node.js installé pour compiler, ou l'éditeur en ligne du site officiel de TypeScript
Chapitre 11 / 11

Étape 1 sur 11 : Pourquoi TypeScript

Chapitre 1

Pourquoi TypeScript

JavaScript te laisse écrire n'importe quoi et ne se plaint qu'à l'exécution. TypeScript ajoute une vérification des types qui attrape ces erreurs bien plus tôt.

En JavaScript, une variable peut contenir n'importe quel type de valeur, et ce type peut même changer en cours de route. C'est souple, mais c'est aussi une source de bugs : rien ne t'empêche d'appeler .toUpperCase() sur un nombre, ou de passer une chaîne là où on attendait un objet. L'erreur ne se révèle qu'au moment où le code s'exécute, souvent en production, devant l'utilisateur·ice. TypeScript répond à ce problème : c'est un sur-ensemble de JavaScript qui ajoute un système de types vérifiés avant l'exécution.

« Sur-ensemble » (superset) signifie que tout code JavaScript valide est déjà du TypeScript valide : tu ne repars pas de zéro, tu ajoutes progressivement des annotations de type à du JavaScript que tu connais déjà. TypeScript ne s'exécute pas directement dans le navigateur : il faut le compiler (on dit aussi transpiler) en JavaScript ordinaire avec le compilateur tsc. C'est pendant cette compilation que TypeScript vérifie tes types et signale les incohérences.

Le même code, avec et sans types

// JavaScript : rien ne signale l'erreur avant l'exécution
function double(n) {
  return n * 2;
}
double("bonjour");   // NaN à l'exécution, aucune alerte avant

// TypeScript : l'erreur est signalée dans l'éditeur, immédiatement
function doubleTS(n: number): number {
  return n * 2;
}
doubleTS("bonjour"); // ERREUR : argument de type 'string' non assignable

Dans la version typée, n: number annonce que le paramètre doit être un nombre, et : number après les parenthèses annonce le type de retour. Si quelqu'un appelle la fonction avec une chaîne, TypeScript refuse de compiler et souligne l'erreur directement dans l'éditeur, avant même d'exécuter quoi que ce soit. Tu passes d'un bug découvert en production à un bug attrapé pendant que tu écris.

Compiler un fichier TypeScript

# Installer TypeScript globalement (une fois)
npm install -g typescript

# Compiler un fichier .ts en .js
tsc script.ts        # produit script.js

# Vérifier les types sans générer de fichiers
tsc --noEmit         # utile en intégration continue

Pourquoi toute l'industrie a adopté TypeScript

Sur un gros projet, à plusieurs, les types deviennent une documentation vivante : ils disent quelles données une fonction attend et renvoie, et l'éditeur t'autocomplète tout. C'est devenu le standard de fait du développement web : React, Angular, Node, Vue, tout l'écosystème est typé. Savoir lire et écrire du TypeScript n'est plus optionnel pour un·e dev junior.

Vrai ou faux ?

Le code TypeScript s'exécute directement dans le navigateur, sans étape intermédiaire.

Tu veux ce cours pour ton équipe ?

Je peux adapter et animer ce cours pour tes formateur·ices ou tes apprenant·es, en présentiel ou en distanciel. Parlons-en pendant l'audit gratuit.

Réserver un audit gratuit →