Aperçu du cours
Objectif de formation : Savoir utiliser JavaScript dans le cadre de la programmation orientée objet (POO).
Programme d'études
Présentation générale des classes
Introduction : rappels de la POO
Mécanisme des classes
Définition des propriétés et méthodes public, private
Conception de classe Template
Présentation du mécanisme de prototype, __proto__.
Objet & typage des objets TypeOf, instanceOf
Constructeur & propriétés
Introduction aux mécanismes de constructeur
Object.create comme base de constructeur
Constructeur literal
Concept de scope safe
Construction par singleton, pattern
Techniques de création des propriétés & portée (private, public, static) des propriétés
Portée des méthodes & mécanismes de polymorphisme
Préservation & administration du Context this
Travaux pratiques : implémentation des divers techniques et outils de création de classe
Concepts d'héritage
Premiers pas avec les mécanismes d’héritage en JS
Héritage simple, multiple
Héritage par prototype
Travaux pratiques : Conception d’une classe héritée simple avec & sans les prototypes
Compréhension du type Object
Création Object literal, avec un constructeur
Création de propriétés & méthodes
Duplication d’objet par valeur, référence
Gestion du context this avec Object.apply et Object.call
Démystification les propriétés de Object
Modules : Object, AMD
Travaux pratiques : Construction d’une classe, factory à base de Object
Mécanismes JavaSript avancés
Déclaration des variables, typage, nomenclature, accès au DOM
Présentation du mécanisme de Hoisting
Promises & Programmation asynchrone
Echange Ajax d’objets structurés & serialization de multiples formats
Création d’un Namespace static, Namespace objet, module pattern, namespace proxy
Fonctions anonymes, closures
Comprendre les principes du callback
Travaux pratiques : Gestion des solutions de stockage localstorage pour conserver image, objets
TypeScript : usages et intérêts
Typage de données
Constructeurs, instances, interfaces
Création de Class, Objects
Getters, Setters
Héritage, surcharge
Gestion du context
Polymorphisme
Travaux pratiques : Conception d’un projet en programmation objet en Typescript, usage de solution Node.js.