Le principe de TypeScript
- Pourquoi Microsoft a créé cette alternative ?
- La surcouche JavaScript.
- La comparaison entre les 2 JavaScript et TypeScript.
- Le choix de l'éditeur, des plug-ins et l’installation.
- L’écosystème d'outils.
- La configuration de l'environnement de développement.
- La transpilation débogage.
Travaux pratiques
Installation de VS Code et mise en place des plug-ins.
Configurer le compilateur.
- Le fichier "tsconfig.json".
- Les options du compilateur.
- Créer un "build".
- Les stratégies de projets à configuration multiples.
- L’inclusion et l’exclusion de ressources.
- La création d'un workflow personnalisé.
Travaux pratiques
Manipulation du compilateur TypeScript et conception d’un build.
TypeScript Basics & Basic Types
- Les types TypeScript versus JavaScript.
- Quand et quoi typer ?
- L’expression statique de types.
- Assignation et inférence.
- Les tuples, les enums, les aliases (type personnalisés).
- Les cas de typage particulier (never, void...).
- Les fonctions et les tableaux.
Travaux pratiques
Création de variables de classe avec le typage standard et particulier.
Next-generation JavaScript
- L’impact sur la syntaxe JavaScript.
- Automatiser la documentation.
- Utiliser TypeScript avec du code JavaScript standard.
- Inclure/générer des fichiers de définition pour la compatibilité.
- Le bénéfice des "getter,setter" implicites.
- La programmation "Ahead-of-Time", réduire la dette technique.
- Les modules et les espaces de noms.
Travaux pratiques
Création d’un programme avec TypeScript en combinaison avec JavaScript.
Améliorer la POO avec TypeScript
- Les rappels des Pattern POO : Singleton, Factory...
- L'usage des interfaces TypeScript "Duck Typing".
- Les classes & les interfaces.
- Le modificateur de classe : "public, private, readonly..."
- Les méthodes: "private, protected, overrides..."
- L’héritage simple, multiple.
Travaux pratiques
Conception d’héritage multiple au sein des classes précédemment créées.
Advanced types
- La gestion des types personnalisés.
- Les types génériques et les inférences.
- Les classes génériques.
- Les restrictions des types génériques.
Travaux pratiques
Développement et mise en place de types personnalisés.
Décorateurs
- Les décorateurs et les "MetaData".
- Comprendre les "factories" de décorateurs.
- Les décorateurs de classe, propriété, méthode, paramètres.
- Créer des décorateurs personnalisés.
- Implémenter les abstractions utiles.
Travaux pratiques
Implémentation d'un décorateur de classes.
TypeScript en pratique
- Usage avec Node.js.
- Livrer du code JavaScript compatible avec TypeScript.