← Retour aux formations

Développement Web & No-Code

JavaScript, maîtriser la Programmation Orientée Objet

Avancé
Développement Web & No-Code

À 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

  • check_circleSaisir les spécificités du modèle objet de JavaScript
  • check_circleDéfinir des classes JavaScript avec leurs constructeurs, propriétés et méthodes
  • check_circleImplémenter l'héritage simple et multiple entre classes JavaScript
  • check_circleComprendre 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.