Formation Javascript – Programmation avancée

  • Référence : DEJVS002
  • Durée : 21 heures
  • Certification : Non
  • Eligible CPF : Non

CONNAISSANCES PREALABLES

  • Avoir suivi le cours DEJVS001 - JavaScript - Fondamentaux" ou avoir une connaissance pratique du langage JavaScript

PROFIL DES STAGIAIRES

  • Développeurs, architectes et chefs de projets techniques

OBJECTIFS

  • Utiliser tous les outils de débogage à disposition
  • Décrire les contextes d'exécution
  • Structurer le code JavaScript en modules
  • Implémenter les concepts objets en JavaScript et les concepts fonctionnels
  • Identifier les aspects avancés des "closures" et les promises
  • Mémoriser jQuery
  • Identifier les différences avec Node.js et expliquer le rôle de chacun.

METHODES PEDAGOGIQUES

  • 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
  • Remise d’une documentation pédagogique papier ou numérique pendant le stage
  • La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions

METHODES D'EVALUATION DES ACQUIS

  • Auto-évaluation des acquis par le stagiaire via un questionnaire
  • Attestation de fin de stage adressée avec la facture

FORMATEUR

Consultant-Formateur expert Développement Internet

CONTENU DU COURS Développement Internet

1 - Maîtrise des fonctions de "debug" dans les IDE et les navigateurs

  • Configuration de Visual Studio Code afin de déboguer depuis l’IDE
  • Accès aux fenêtres de débogage depuis les extensions des principaux navigateurs (Chrome, Edge, FireFox)

2 - Rappels importants du langage

  • Les éléments de premier ordre dans JavaScript
  • La portée des données
  • Les fonctions
  • Objets ou fonctions ?
  • Le débogage avec les meilleurs outils actuels

3 - Pièges du langage

  • Typage faible
  • Hoisting
  • Contexte et variables globales
  • Changement de contexte

4 - Programmation objet

  • Différentes façons de créer des objets
  • Constructeurs
  • Valeur de "this" dans un objet
  • Prototype et __proto__
  • Diverses façons d’hériter
  • Visibilité

5 - Importance de la modularisation

  • Créer un module en JavaScript
  • Utilisation des modules

6 - Programmation fonctionnelle

  • Fonctions : Anonymes
  • Fonctions : Immédiates
  • Fonctions : Internes
  • Redéfinition
  • Surcharge et mot-clé (arguments)
  • Closure

7 - Structuration et qualité du code

  • Séparation en multiple fichiers
  • Définition de modules
  • Asynchronous Module Definition (AMD)
  • AMD avec Require.js
  • Impacts des "closures" sur la lisibilité
  • Qualité avec JSHint et JSLint

8 - L'héritage jQuery

  • Bases de jQuery
  • Exploitation des sélecteurs en jQuery
  • Intérêts de jQuery par rapport JavaScript
  • Les composants graphiques de jQuery

9 - Exploiter les API HTML 5 en JavaScript

  • Validation des formulaires en JavaScript
  • Solutions de stockage : LocalStorage
  • Solutions de stockage : IndexedDB
  • JSON
  • WebSockets
  • WebWorkers

10 - JavaScript et Node.js

  • Différences dans les langages
  • Asynchronisme
  • REST serveur en Node.js et REST client en JavaScript
  • Présentation d’une solution Web 100% JavaScript

11 - Evolutions récentes : ECMAScript 6 et 7

  • ECMAScript 6 et ses nouveautés : Classes
  • ECMAScript 6 et ses nouveautés : Modules
  • ECMAScript 6 et ses nouveautés : Fonctions fléchées
  • ECMAScript 6 et ses nouveautés : Promise
  • ECMAScript 6 et ses nouveautés : Nouvelles méthodes de "Object"
Cookies