Learn TypeScript
A free, interactive TypeScript course built on top of JavaScript. You write TS on every lesson - type annotations, interfaces, generics, unions, narrowing - with AI hints when you get stuck and a certificate when you finish. Part of the wider JavaScript journey, so the JS context that makes TypeScript click is right there.
253,075+ codders inscrits
- Adapté aux débutants
Aide au codage assistée par IA
Leçons interactives et pratiques
Narration audio dans chaque leçon
Quiz pour tester vos connaissances
Certificat gratuit de réussite
Programme
Cette section fait partie du Journey JavaScript. Le programme complet contient d'autres sections - clique sur n'importe quel aperçu ci-dessous pour le voir sur la page du Journey.
- Section 1Fondamentaux77 leçons
- Section 2Logique & Flux65 leçons
Section 1
Introduction à TypeScript
Commencer la sectionDémarrerDévelopperRéduireIntroduction à TypeScript après avoir appris JavaScriptPremiers pas avec TS
5 leçons232- 01Qu'est-ce que TypeScript ?Quiz
- 02Pourquoi utiliser TypeScript ?Quiz
- 03Votre premier code TypeScriptDéfiQuiz
- 04Processus de compilation et erreursQuiz
- 05Récapitulatif : Introduction à TSDéfi
Types fondamentaux
7 leçons748- 01Types de base : str, num, booleanDéfiQuiz
- 02Le type 'any' : la porte de sortieDéfiQuiz
- 03Le type 'unknown'DéfiQuiz
- 04Travailler avec 'null' et 'undef'DéfiQuiz
- 05L'inférence de type en actionDéfiQuiz
- 06Annotations de type explicitesDéfiQuiz
- 07Récapitulatif : Pratique des types fondamentauxDéfi
Structure de données : Tableaux et Tuples
9 leçons862- 01Tableaux typésDéfiQuiz
- 02Modificateur 'readonly' pour les tableauxDéfiQuiz
- 03Qu'est-ce qu'un tuple ?Quiz
- 04Déclaration et accès aux tuplesDéfiQuiz
- 05Déstructuration de tuplesDéfiQuiz
- 06Tuples readonlyDéfiQuiz
- 07Tableaux typés multidimensionnelsDéfiQuiz
- 08Spread operator avec les tableauxDéfiQuiz
- 09Récapitulatif : Tableaux et tuplesDéfi
Travailler avec les fonctions
8 leçons855- 01Typage des paramètres et valeurs de retourDéfiQuiz
- 02Typage des fonctions fléchéesDéfiQuiz
- 03Le type de retour 'void'DéfiQuiz
- 04Paramètres optionnels avec '?'DéfiQuiz
- 05Valeurs par défaut des paramètresDéfiQuiz
- 06Typage des paramètres RestDéfiQuiz
- 07Définir des types de fonctionsDéfiQuiz
- 08Récapitulatif : Créer des fonctions typéesDéfi
Types : Alias, Unions & Intersections
7 leçons751- 01Alias de types pour les primitifsDéfiQuiz
- 02Types d'union ('|')DéfiQuiz
- 03Travailler avec les types d'unionDéfiQuiz
- 04Types littérauxDéfiQuiz
- 05Types d'intersection ('&')DéfiQuiz
- 06Combiner des alias de typesDéfiQuiz
- 07Récapitulatif : Combinaisons de types avancéesDéfi
Typage des objets et interfaces
8 leçons757- 01Annotations de type d'objet en ligneDéfiQuiz
- 02Alias de type pour les objetsDéfiQuiz
- 03Introduction aux interfacesDéfiQuiz
- 04Interfaces vs Alias de typeQuiz
- 05Propriétés optionnelles et ReadonlyDéfiQuiz
- 06Étendre les interfaces et les typesDéfiQuiz
- 07Ajout de méthodes aux interfacesDéfiQuiz
- 08Récapitulatif : Définir la structure des objetsDéfi
Projet : Une liste de tâches simple
Projet6 leçons18- 01Projet : Définir la struct TaskDéfiQuiz
- 02Fonction pour ajouter une tâcheProjet
- 03Fonction pour modifier le statut d'une tâcheProjet
- 04Fonction : Lister les tâches par statutProjet
- 05Fonction : Afficher le résumé des tâchesProjet
- 06Assembler le toutProjet
Énumérations
6 leçons638- 01Qu'est-ce qu'une énumération numérique ?DéfiQuiz
- 02Utiliser les énumérations numériquesDéfiQuiz
- 03Qu'est-ce qu'une énumération de chaînes ?DéfiQuiz
- 04Utiliser les énumérations de chaînesDéfiQuiz
- 05Énumérations hétérogènesDéfiQuiz
- 06Récapitulatif : Utiliser les énumérationsDéfi
Les génériques : un premier aperçu
6 leçons537- 01Le problème résolu par les génériquesQuiz
- 02Créer une fonction d'identité génériqueDéfiQuiz
- 03Utiliser une fonction génériqueDéfiQuiz
- 04Tableaux génériquesDéfiQuiz
- 05Interfaces génériquesDéfiQuiz
- 06Récapitulatif : Pratique des fonctions génériquesDéfi
Projet : Gestion d'inventaire
Projet5 leçons18- 01Projet : Article d'inventaire génériqueDéfiQuiz
- 02Fonction : Ajouter des articles à l'inventaireProjet
- 03Fonction pour trouver un article par IDProjet
- 04Créer un type d'inventaire spécifiqueProjet
- 05Fonction pour obtenir les détails de l'articleProjet
Sujets avancés
6 leçons642- 01Assertions de typeDéfiQuiz
- 02Type Guards : in & instanceofDéfiQuiz
- 03Le type 'never'DéfiQuiz
- 04Types nullables ('strictNull')DéfiQuiz
- 05Signatures d'index pour les objetsDéfiQuiz
- 06Récapitulatif : Affiner les typesDéfi
- Section 4Programmation Orientée Objet56 leçons
Why learn TypeScript with Coddy
- Write TypeScript in your browser. No
tscinstall, no editor setup, notsconfig.jsonto wrangle. The editor and output sit side-by-side so you see what each type does instantly. - Modern TypeScript: type annotations, interfaces, generics, union and intersection types, narrowing, utility types, and how TS layers on top of plain JavaScript without changing what runs at runtime.
- AI hints help you read TypeScript errors - the famously long ones - without spoiling the fix, so you build the mental model that makes future TS code easier to write.
- Free TypeScript certificate when you finish the section. A credible signal that you can read and write idiomatic TS, not just JavaScript with sprinkled types.
Frequently asked questions about learning TypeScript
What is TypeScript?
TypeScript is a superset of JavaScript that adds optional static typing. Valid JavaScript is valid TypeScript, but TS lets you annotate variables, function parameters, and return values with types - the compiler then catches mistakes before your code runs. At runtime, TypeScript compiles down to plain JavaScript.
Is TypeScript hard to learn?
If you're comfortable with JavaScript, the basics of TypeScript are quick to pick up - adding
: string or : number to a few variables and you're already writing TS. The trickier parts (generics, conditional types, mapped types, narrowing) take longer, and this course introduces them in small steps with hands-on examples.Do I need to know JavaScript before TypeScript?
Yes. TypeScript is JavaScript with types on top, so the language you're really learning is JS. This TypeScript section is part of the JavaScript journey for that reason - you can take the JS sections first, or jump straight to TS if you're already comfortable with modern JavaScript.
What's the difference between TypeScript and JavaScript?
JavaScript is dynamically typed - a variable can hold a string today and a number tomorrow, and you only find out at runtime. TypeScript adds a static type layer that runs at build time, catching type mismatches before the code ships. The compiled output is still plain JavaScript, so it runs anywhere JS does.
Can I learn TypeScript online for free?
Yes. The interactive TypeScript section is free - full lessons, coding exercises, quizzes, and a certificate. The editor runs in your browser with the TS compiler built in, so you don't need to install
tsc, Node, or any tooling to start writing TypeScript.Do I get a certificate after the TypeScript course?
Yes. Finishing the TypeScript section gives you a free certificate of completion you can share on LinkedIn or include on your resume. A verifiable signal that you've worked through structured, hands-on TypeScript material, not just watched tutorials.