Axe 6 — JavaScript & TypeScript
🎯 Objectif global : écrire du JavaScript moderne idiomatique, puis le typer correctement avec TypeScript.
Prérequis
Section intitulée « Prérequis »Axes 1, 2, 4 et 5.
Phase 1 — JS essentiel (à faire avant l’axe 7)
Section intitulée « Phase 1 — JS essentiel (à faire avant l’axe 7) »Objectif : pouvoir attaquer un framework (React, Vue, Svelte) sans être perdu.
À l'issue de cet axe, tu sauras :
- Lire et écrire du JS moderne : let/const, destructuring, spread, template literals, modules ES
- Comprendre fonctions, closures, scope, hoisting, this — sans avoir besoin de tout maîtriser à 100 %
- Manier l'asynchronisme : Promises, async/await, AbortController
- Utiliser les APIs du navigateur : DOM, fetch, Storage, Observers
✅ À la fin de 6.3, tu es prêt pour l’axe 7 (frameworks). TypeScript n’est pas un pré-requis pour démarrer React.
Phase 2 — TypeScript (peut attendre après l’axe 7)
Section intitulée « Phase 2 — TypeScript (peut attendre après l’axe 7) »Objectif : ajouter le typage par-dessus ta base JS — pour attraper les bugs au compile-time et écrire du code maintenable.
À l'issue de cet axe, tu sauras :
- Typer une application TypeScript en mode strict (génériques, utility types)
- Distinguer interface vs type, union vs intersection, narrowing
- Maîtriser les discriminated unions et les patterns avancés (Zod runtime)
- Configurer tsconfig.json strict + noUncheckedIndexedAccess
💡 Quand revenir sur 6.4 ? Soit immédiatement après 6.3 (parcours linéaire), soit après quelques semaines de React/Vue en JS pur (parcours pragmatique). Les deux ordres marchent — choisis selon ton confort.
Projet de l’axe
Section intitulée « Projet de l’axe »SPA en TypeScript pur (sans framework) — un explorateur PokéAPI avec router maison via History API, store réactif (pattern Observable/Signal), fetch typé Zod + AbortController, TypeScript strict 0 any. ~300 lignes de code.
Ressources clés
Section intitulée « Ressources clés »- Eloquent JavaScript — Marijn Haverbeke (gratuit en ligne)
- You Don’t Know JS Yet — Kyle Simpson
- TypeScript Handbook — typescriptlang.org
- Total TypeScript — Matt Pocock
- MDN — Web APIs