Développement

TypeScript

Typer son JavaScript : interfaces, génériques, types avancés, sécurité de type.

Le programme

13 modules
  • 01
    Code propreStrict mode, ESLint & Prettier, conventions, JSDoc.
    4 leçons
    · Active le strict mode TypeScript· Formate et analyse ton code avec ESLint & Prettier· Conventions de nommage TypeScript· Documente ton code avec JSDoc
  • 02
    Types de baseAnnotations, inférence, destructuring, ?? & ?.
    5 leçons
    · Annoter ses variables et fonctions· L'inférence : TypeScript devine tout seul· Types union et valeurs littérales· Destructuring avec TypeScript· ?? et ?. : gérer les valeurs absentes
  • 03
    FonctionsParamètres optionnels, surcharges, this & binding.
    4 leçons
    · Paramètres optionnels et valeurs par défaut· Paramètres rest et tableaux d'arguments· Surcharges de fonctions· this et binding dans les fonctions
  • 04
    Interfaces & typesUnions, intersections, type guards, assertions.
    6 leçons
    · Les unions de types· Les intersections de types· Type guards avec typeof· Type guards avec instanceof· Type guards personnalisés· Les assertions de type
  • 05
    Classes & héritageVisibilité, readonly, abstract, implements.
    5 leçons
    · Public et private : qui peut toucher quoi ?· Protected : partager avec les classes filles· Readonly : figer une valeur après création· Abstract : définir un modèle sans l'instancier· Implements : une classe respecte un contrat
  • 06
    GenericsFonctions/classes génériques, contraintes, conditional types, infer.
    5 leçons
    · Fonctions génériques : du code flexible sans perdre les types· Classes génériques : des structures de données réutilisables· Contraintes : limiter ce qu'un generic peut accepter· Conditional types : des types qui dépendent d'une condition· infer : extraire un type depuis une structure
  • 07
    Utility typesPartial, Pick, Omit, Record, ReturnType, Awaited.
    4 leçons
    · Rendre un type flexible : Partial, Pick et Omit· Créer des dictionnaires typés avec Record· Déduire le type de retour d'une fonction avec ReturnType· Extraire le type d'une promesse avec Awaited
  • 08
    EnumsNumeric enums, string enums, const enums, enums vs union types.
    3 leçons
    · Numeric enums et string enums· Const enums : zéro overhead à la compilation· Enums vs union types : quand choisir quoi ?
  • 09
    Modulesimport/export, default vs named, re-exports, dynamic imports, fichiers .d.ts, ambient declarations (declare), triple-slash directives.
    5 leçons
    · Importer et exporter du code· Export par défaut vs exports nommés· Re-exporter depuis un fichier index· Imports dynamiques avec import()· Fichiers .d.ts, declare et directives triple-slash
  • 10
    Gestion d'erreurstry/catch/finally, Error vs unknown, custom error classes, type-safe error handling, Result pattern, never type.
    4 leçons
    · try / catch / finally : capturer les erreurs· Error vs unknown : typer les erreurs capturées· Classes d'erreurs personnalisées· Result pattern et type never
  • 11
    Types avancésMapped types, template literal types, keyof, branded types.
    6 leçons
    · keyof : explorer les clés d'un type· Mapped types : transformer un type clé par clé· Mapped types : filtrer et remapper les clés· Template literal types : composer des types comme des chaînes· Branded types : distinguer des types structurellement identiques· Branded types génériques et utilitaires avancés
  • 12
    Asynchrone & décorateursPromises typées, async generators, décorateurs (stage 3).
    4 leçons
    · Promises typées· async/await avancé· Async generators· Décorateurs (stage 3)
  • 13
    Système de types avancéVariance, declaration merging, module augmentation.
    4 leçons
    · Variance : covariance et contravariance· Variance et types génériques· Declaration merging : fusionner des déclarations· Module augmentation : enrichir un module externe

Comment ça se passe

Chaque leçon est écrite, claire, droit au but. Tu lis, tu fais l'exercice, puis tu vois la correction sur la page suivante. Tu avances à ton rythme, sans rester bloqué — pas de vidéo de trois heures.