Web
5$/h – Javascript Moderne – Avancé
Objectifs
Ce cours Javascript Moderne – Avancé permet aux développeuses et développeurs expérimentés de maîtriser les concepts avancés de JavaScript pour créer des applications performantes et maintenables.
Les personnes participantes pourront travailler dans des projets complexes et performants. Elles exploreront la programmation asynchrone, l’orienté objet, et l’optimisation du code, tout en découvrant des API modernes et des techniques de débogage avancées.
Au terme de ce cours, les personnes participantes auront acquis une maîtrise avancée de Javascript, leur permettant de développer des applications performantes, maintenables et optimisées grâce à des compétences approfondies en programmation asynchrone, en manipulation du DOM, en utilisation des API Web modernes, et en optimisation du code
Contenu du cours
Syntaxe avancée et bonnes pratiques
- Fonctions fléchées et contextes (this)
- Différences entre les fonctions traditionnelles et fléchées
- Compréhension du comportement de this dans différents contextes
- Déstructuration et paramètres par défaut
- Déstructuration des objets et des tableaux
- Utilisation des paramètres par défaut dans les fonctions
- Opérateurs avancés
- Opérateur de propagation (…), opérateur logique (??, ?.) et autres opérateurs modernes
Programmation asynchrone et Promises
- Compréhension des callbacks et les limitations du callback hell
- Fonctionnement des callbacks et leurs inconvénients
- Promesses et async/await
- Création et gestion des Promises
- Syntaxe async/await pour simplifier l’asynchrone
- Gestion des erreurs asynchrones
- Utilisation de try/catch avec async/await
- Techniques de gestion des erreurs dans les chaînes de Promises
Programmation orientée objet et classes modernes
- Classes et héritage en JavaScript
- Définition des classes, constructeurs et méthodes
- Héritage de classes avec extends et utilisation de super
- Encapsulation et modules
- Modules JavaScript avec import et export
- Création de propriétés et de méthodes privées (ES6+)
- Concepts avancés de la POO
- Getters, setters et propriétés calculées
- Polymorphisme et utilisation des classes abstraites
Manipulation avancée du DOM et événements
- Sélection et manipulation avancée du DOM
- Optimisation de la manipulation du DOM pour de meilleures performances
- Utilisation du DOM virtuel et des modèles pour une génération dynamique de contenu
- Gestion des événements et délégation
- Délégation d’événements pour une gestion efficace
- Événements personnalisés (CustomEvent) et propagation des événements
JavaScript et les API Web
- Utilisation de l’API Fetch pour les requêtes HTTP
- Création de requêtes GET et POST avec Fetch
- Gestion des réponses et des erreurs avec les Promises et async/await
- APIs Web courantes
- Introduction à l’API localStorage et sessionStorage
- Manipulation de l’API Web Storage pour gérer des données persistantes
- Utilisation de l’API Canvas pour des animations graphiques
- Travailleurs Web (Web Workers)
- Introduction aux Web Workers pour le traitement en arrière-plan
- Communication entre le main thread et les Web Workers
Tests, performances et optimisation
- Introduction aux tests automatisés
- Tests unitaires avec des bibliothèques comme Jest
- Tests d’intégration et de bout en bout (end-to-end) avec Cypress
- Débogage et profilage
- Techniques de débogage dans les navigateurs
- Analyse des performances JavaScript et optimisation du code
- Optimisations et bonnes pratiques
- Optimisation de la mémoire et de la vitesse d’exécution
- Utilisation de techniques comme le throttling et le debouncing
- Approches pour réduire les temps de chargement et le rendu
Préalables
Avoir suivi la formation Javascript Moderne – Fondamentaux ou en maîtriser les notions.