Vision d'ensemble des classes
- Rappels sur la POO.
- Le mécanisme des classes.
- Définition des propriétés et méthodes public, private.
- Création de classe Template.
- Comprendre le mécanisme de prototype, __proto__.
- Objet et typage des objets TypeOf, instanceOf.
Constructeur et propriétés
- Comprendre les mécanismes de constructeur.
- Constructeur basé sur Object.create.
- Constructeur literal.
- Principe de scope safe.
- Création par singleton, pattern.
- Méthodes 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éserver et gérer le Context this.
Travaux pratiques
Mise en œuvre des différentes méthodes de création de classe.
Les concepts d'héritage
- Comprendre les mécanismes d'héritage en JavaScript.
- Héritage simple, multiple.
- Héritage par prototype.
Travaux pratiques
Création d'une classe héritée simple avec et sans les prototypes.
Comprendre le type Object
- Création Object literal, avec un constructeur.
- Création de propriétés et méthodes.
- Duplication d'objet par valeur, référence.
- Gestion du context this avec Object.apply et Object.call.
- Démystifier 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.
- Comprendre le mécanisme de Hoisting.
- Promises et la Programmation asynchrone.
- Echange Ajax d'objets structurés et serialization de multiples formats (texte, image, JSON).
- 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...
Pourquoi utiliser TypeScript ?
- Typage de données.
- Constructeurs, instances (méthode et propriété), interfaces.
- Création de Class, Objects (private, public, static...).
- Getters, Setters.
- Héritage, surcharge.
- Gestion du context.
- Polymorphisme.
Travaux pratiques
Création d'un projet en programmation objet en Typescript, usage de solution Node.js.