Chapitre 1 · Leçon 1
Définir la forme de tes données
Section 1
Step 1
TypeScript ajoute des annotations de type après le nom de la variable avec :. Le compilateur infère souvent le type automatiquement — pas besoin d'annoter partout.
snippet.typescript
1// Annotations explicites
2const name: string = "Usher";
3const age: number = 28;
4const active: boolean = true;
5const tags: string[] = ["react", "typescript"];
6
7// TypeScript infère automatiquement — pas besoin d'annoter
8const score = 95; // TypeScript sait que c'est number
9const items = ["a", "b"]; // string[]
10
11// Annotation des fonctions
12function greet(name: string, times: number = 1): string {
13 return name.repeat(times);
14}
15
16// Arrow function typée
17const add = (a: number, b: number): number => a + b;
18
19// Retour void quand la fonction ne retourne rien
20function logError(msg: string): void {
21 console.error(msg);
22}Step 2
Une union (|) accepte plusieurs types. Une intersection (&) combine plusieurs types en un seul. Ces deux outils couvrent 80% des besoins de typage complexe.
Section 2
Step 3
Les deux permettent de définir la forme d'un objet. La règle pratique : `interface` pour les formes d'objets et les contrats de classe, `type` pour les unions, primitives, et les types utilitaires.
Step 4
Le narrowing (rétrécissement de type) est le mécanisme par lequel TypeScript affine le type dans un bloc conditionnel. C'est la clé d'un code TypeScript idiomatique.