Nos formations

JavaScript avancé

Programme

Jour 1

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

Pièges du langage

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

Programmation objet

  • Différentes façons de créer des objets
  • Constructeurs
  • valeur de ”this” dans un objet
  • Prototype et __prototype
  • Diverses façons d’hériter
  • Visibilité
Exemples de travaux pratiques (à titre indicatif)
  • Conception d’une application qui exploite les fonctions
  • Transformation de l’application, permettant d’exploiter les objets et l’héritage

Jour 2

Importance de la modularisation

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

Programmation fonctionnelle

  • Fonctions anonymes
  • Fonctions immédiates
  • Fonctions internes
  • Redéfinition
  • Surcharge et mot-clé (arguments)
  • Closure

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
Exemples de travaux pratiques (à titre indicatif)
  • Modularisation avec Require.js de l’application développée le jour précédent
  • Utilisation des outils de Lint

Jour 3

Evolutions récentes : ECMAScript 6 et 7

  • Présentation des langages dérivés de JavaScript
    • TypeScript
    • Dart
    • CoffeeScript
  • ECMAScript 6 et ses nouveautés
    • Classes
    • Modules
    • Fonctions fléchées
    • Promise
    • Nouvelles méthodes de ”Object”…

Frontière entre JavaScript et HTML 5

  • Validation des formulaires en JavaScript
  • Solutions de stockage
    • LocalStorage
    • SQLite
  • JSON
  • Web Sockets
  • Web Workers

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
Exemples de travaux pratiques (à titre indicatif)
  • Exploitation des API de HTML 5 depuis JavaScript
  • Utilisation des dernières fonctionnalités de ES7 et 8, avec l’asynchronisme (wait/async), promises
  • Intégration d’un serveur simple Node.js dans la solution

Certification (en option)

  • Prévoir l’achat de la certification en supplément
  • L’examen (en français) sera passé le dernier jour, à l’issue de la formation et s’effectuera en ligne
  • Il s’agit d’un QCM dont la durée moyenne est d’1h30 et dont le score obtenu attestera d’un niveau de compétence