Préambule
  • Présentation
  • Les cinq types fondamentaux en JavaScript
  • Opérations courantes sur les nombres
  • Template string (nouveauté ES6)
  • Conversion en booléen à l'aide de l’opérateur '!!'
  • Différence entre ‘==’ et ‘===’
  • le mot clé "typeof"
  • Configurer son environnement de développement
Les fonctions
  • "function declaration" et "function expression"
  • Le callback : passer une fonction à une fonction
  • Portée des variables en ES5 puis en ES6 (via let et const)
  • IIFE (Immediatly Invoked Function Expression)
  • Arrow function (ES6)
  • Arguments et paramètres
  • Paramètres par défaut (ES6)
  • Fonction utilisée comme un constructeur
Les objets
  • Quand créer un objet ?
  • Les propriétés d'un objet
  • Object.keys()
  • Getter
  • Setter
  • Copie d'objet
  • Imposer une structure à des objets à l'aide d'un constructeur
Les prototypes ES5 et les classes ES6
  • Prototype d'une fonction et __proto__ d'un objet
  • Ajouter une fonction à un prototype
  • Occulter une propriété du prototype en ajoutant une propriété à un objet
  • Modifier le prototype d'une fonction après coup
  • Consulter le __proto__ d'un objet pour éviter certains pièges
  • Chaîne d'héritage prototypal
  • instanceof
  • Les classes ES6
Les possibles valeurs de 'this' en JavaScript
  • Les valeurs de this + le problème de this depuis une inner function
  • Solution 1 : capturer this dans self
  • Solution 2 : utiliser une arrow fonction
  • Choisir ce que doit être this à l'aide de call()
  • Choisir ce que doit être this à l'aide de bind()
Les tableaux (Array)
  • Quand faut-il utiliser un tableau ?
  • Array.of() et Array.from() (ES6)
  • map(), filter() et sort() (ES6)
  • Introduction à reduce() (ES6)
  • Utiliser reduce() pour créer un objet à partir d'un tableau
  • Recréer map() à l'aide de reduce()
  • Recréer filter() à l'aide de reduce()
  • Quatre façons de cloner un tableau (en ES5 et ES6)
Les closures
  • Qu’est- qu’une closure ?
  • Rendre une variable privée grâce aux closures
  • Capturer des arguments passés à la “outer function”
Les événements
  • Qu'est-ce qu'un événement ? (event)
  • Ecouter les événements du clavier
  • Diverses façons de prendre en compte uniquement certaines touches du clavier
  • Création d'un captcha - Choisir une question aléatoirement
  • Création d'un captcha - Gestion des saisies du clavier
  • Création d'un captcha - S'assurer d'un nombre précis de saisies
  • Création d'un captcha - Comparer deux tableaux
  • Création d'un captcha - Validation
  • Création d'un player vidéo - Initialisation du projet
  • Création d'un player vidéo - Play, pause et contrôle de la vitesse de la vidéo
  • Création d'un player vidéo - Implémentation du slider de recherche
Les requêtes AJAX
  • Les promises (ES6)
  • Les promises (suite) : la gestion du "reject" (ES6)
  • Utiliser fetch() et les promises pour effectuer une requête asynchrone (ES6)
Bonus
  • Coupons vers des formations complémentaires