← Retour aux formations
Développement Web & No-Code
JavaScript, maîtriser la Programmation Orientée Objet
Avancé
À propos de cette formation
Cette formation permet d'approfondir le modèle objet de JavaScript. Les participants étudient les classes, les constructeurs, les mécanismes d'héritage, les concepts avancés du langage (hoisting, closures, promises, namespaces) et découvrent comment articuler JavaScript avec TypeScript pour des développements plus robustes.
Objectifs de la formation
- Saisir les spécificités du modèle objet de JavaScript
- Définir des classes JavaScript avec leurs constructeurs, propriétés et méthodes
- Implémenter l'héritage simple et multiple entre classes JavaScript
- Comprendre les apports de TypeScript et l'intégrer à un développement JavaScript
Programme détaillé
Module 1 — Vision d'ensemble des classes
- Rappels sur les principes de la Programmation Orientée Objet
- Fonctionnement du mécanisme des classes en JavaScript
- Déclaration de propriétés et méthodes public et private
- Création d'une classe template
- Compréhension des prototypes et de la chaîne __proto__
- Typage des objets avec typeof et instanceof
Module 2 — Constructeur et propriétés
- Mécanismes du constructeur en JavaScript
- Constructeur basé sur Object.create et constructeur littéral
- Principe de scope safe
- Création d'objets par pattern Singleton
- Portée des propriétés : private, public, static
- Portée des méthodes et polymorphisme
- Gestion et préservation du contexte this
- Travaux pratiques : mise en œuvre des différentes méthodes de création de classe
Module 3 — Les concepts d'héritage
- Fonctionnement de l'héritage en JavaScript
- Héritage simple et héritage multiple
- Héritage par prototype
- Travaux pratiques : création d'une classe héritée avec et sans prototypes
Module 4 — Comprendre le type Object
- Création d'objets : notation littérale et avec constructeur
- Ajout de propriétés et de méthodes sur un objet
- Duplication d'objet par valeur et par référence
- Gestion du contexte this avec Object.apply et Object.call
- Exploration des propriétés natives de l'objet Object
- Modules : pattern Object et AMD
- Travaux pratiques : construction d'une classe et d'une factory à base d'Object
Module 5 — Mécanismes JavaScript avancés
- Déclaration de variables, typage, nomenclature et accès au DOM
- Mécanisme de hoisting en JavaScript
- Promises et programmation asynchrone
- Échanges AJAX et sérialisation de formats multiples (texte, image, JSON)
- Création de namespaces : statique, objet, module pattern et proxy
- Fonctions anonymes et closures
- Principes et usage des callbacks
- Travaux pratiques : gestion du stockage avec localStorage pour conserver images et objets
Module 6 — Pourquoi utiliser TypeScript ?
- Typage des données en TypeScript
- Constructeurs, instances et interfaces
- Déclaration de classes et objets (private, public, static)
- Getters et setters
- Héritage et surcharge en TypeScript
- Gestion du contexte et polymorphisme
- Travaux pratiques : développement d'un projet orienté objet en TypeScript avec Node.js
Prérequis
Avoir des notions fondamentales en JavaScript.