Objectifs pédagogiques
- Reconnaître et utiliser les apports de la norme ES2015 (qui correspond à ECMAScript 6)
- Expliquer ES2016 (ECMAScript 7), ES2017 et ES2018 (ECMAScript 8 et 9), ES2019 et ES2020 (ECMAScript 10 et 11), ES2021 et ES2022 (ECMAScript 12 et 13) et ES2023 (ECMAScript 14)
- Exploiter ces particularités dans les nouveaux projets.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir une bonne connaissance de JavaScript et des fondamentaux de l'objet.
Testez vos connaissances
Afin de vous orienter vers la formation la plus adaptée à votre niveau, passez votre test de connaissances pour évaluer vos compétences actuelles.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Développeurs ayant à réaliser des applications Web responsives.
Programme
Jour 1
Introduction
- Rappels sur les aspects avancés de JavaScript
- Synthèse des apports de ES2015 et ES2016
- Compatibilité actuelle des browsers
- Tour d'horizon des outils de développement et d'intégration actuelle
- Compilateurs disponibles
Apports de ES2015 (ECMAScript 6)
- Mot-clé "let"
- Assignation des variables
- Constantes
- Modification des API
- Utilisation de la nouvelle syntaxe des "arrow functions"
- Assignations déstructurées
- Formatage des chaînes de caractères
- Object API, les nouvelles méthodes
Exemples de travaux pratiques (à titre indicatif)
- Utilisation des nouvelles syntaxes de ES2015
- Utilisation de "let", fonctions "arrow" et "formatage"
Programmation objet en ES2015
- Classe et héritage
- Méthodes statiques
- Création de proxy
- Nouveaux types
- Set
- Map
- Nouveaux objets héritables
Exemples de travaux pratiques (à titre indicatif)
- Création d'un projet à base de classes
- Utilisation de nouveaux types
Modularisation en ES2015
- Modularisation avec AMD et CommonJS
- Modularisation avec ES2015
- Différences entre les trois approches de modularisation
- Façons pour l'utiliser
- Gestion des dépendances
- "Dynamique loading"
Exemples de travaux pratiques (à titre indicatif)
- Modularisation du projet préalablement conçu avec AMD puis avec ES2015
- Gestion de dépendances
Jour 2
Itérateurs et générateurs
- Création d'un itérateur
- Toutes les nouvelles boucles "For"
- Création d'un générateur
- Exploitation d'un générateur
Asynchronisme avec JavaScript
- Présentation des "promises"
- Création et utilisation des "promises"
Exemple de travaux pratiques (à titre indicatif)
- Création d'un projet en utilisant des "promises" et "promises" chaînées
Déployer une application JavaScript à partir de ES2015 (ECMAScript 6)
- JavaScript et TypeScript
- Transpileurs
- Package managers
- Traceurs
- Nécessité de packager son code
- Gestion des packages avec npm
- Outils de Lint et de test
Apports de ES2016 (ECMAScript 7)
- La fonction Array.prototype.includes()
- L'opérateur Exponentiation
Apports de ES2017 (ECMAScript 8)
- Async functions
- Shared memory et les atomics
Apports de ES2018 (ECMAScript 9)
- Les itérations asynchrones
- Les propriétés REST / Spread
- Nouvelles expressions régulières
- La fonctionnalité Promise.prototype.finally()
Apports de ES2019 (ECMAScript 10)
- Nouvelles fonctions sur le type Array
Apports de ES2020 (ECMAScript 11)
- Le type BigInt
- Modifications dans les opérateurs
Exemple de travaux pratiques (à titre indicatif)
- Ecriture de sources JavaScript permettant de mettre en oeuvre les apports des versions 2016 à 2023 de JavaScript
Apports de ES2021 (ECMAScript 12)
- Séparateur numérique
- String replaceAll()
- Opérateur logique pour l'assignation
- Promise.any()
- Accessibilité "private" pour les méthodes
- WeakReference pour le "Garbage Collector" de JavaScript
Apports de ES2022 (ECMAScript 13)
- Accessibilité "private" pour les attributs
- Bloc d'initialisation statique
- Ajout d'indice pour les expressions régulières
- Nouvelles fonctionnalités des promesses
- Nouvelles fonctionnalités des tableaux
- Object.hasOwn()
- La cause des erreurs
Apports de ES2023 (ECMAScript 14)
- Nouvelles fonctionnalités de recherche des tableaux
- L'operateur Pipeline
- Les Records et les Tuples
- WeakMap pour le "Garbage Collector" de JavaScript
- Nouvelles fonctionnalités des tableaux
- Générateur et itérateur asynchrone
Examen M2i (en option)
- Prévoir l'achat de l'examen 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
- L'examen n'est pas éligible au CPF, mais permettra néanmoins de valider vos acquis
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation et/ou un examen M2i
Les + de la formation
Un examen M2i permettant de valider vos acquis à l'issue de la formation est disponible sur demande (coût : 120€).