ECMAScript

Des bases solides pour développer des applications fullstack modernes

Description du cours

ECMAScript a été créé pour standardiser JavaScript qui en est la principale implémentation. ECMAScript est le langage le plus utilisé pour écrire des scripts clients web et pour écrire des applications serveur Node.js. A l’issue de ce cours vous connaîtrez les fonctionnalités majeurs de ECMAScript qui vous permettront de réaliser des applications web ou back-end modernes, robustes et modulaires. Ce cours, mis à jour pour ECMAScript 2019, couvre ECMAScript de la version ECMAScript 2015 (ES6) à ECMAScript 2019.

Ce cours permet aux participants d'acquérir les compétences suivantes

  • Situer ECMAScript et JavaScript
  • Connaître le processus d’évolution de ECMAScript
  • Connaître les apports des normes ECMAScript depuis ECMAScript 2015 (ES 6)

Prix: 1460€ HT
Durée: 2 jours
Modalité: Inter en présentiel (demander une formation en intra-entreprise)

Prochaines dates :

Nantes 26 Septembre 2019 S'inscrire
Nantes 5 Novembre 2019 S'inscrire
Nantes 9 Décembre 2019 S'inscrire

PROGRAMME DE LA FORMATION

Module 1

Introduction au standard ECMAScript

  • Une brève histoire de ECMAScript
  • JavaScript vs ECMAScript
  • ECMA International, le comité TC39 et le processus d’évolution d’ECMAScript
  • Les grandes fonctionnalités de ECMAScript, des débuts à aujourd’hui
  • Compatibilité des navigateurs web et de Node.js avec ECMAScript
  • Transpilation et backward compatibility
  • Atelier: Exploration des outils de compatibilité: caniuse, kangax,...
  • Atelier: Configuration d’un environnement de développement ECMAScript et mise en oeuvre d’un transpiler
Module 2

Les bases de ECMAScript

  • Déclaration de variables et temporal dead zone
  • Blocs de code
  • Scopes
  • Strict mode et ECMAScript
  • Atelier: Mise en oeuvre de let et const
  • Atelier: Etude de cas: scopes
Module 3

Les opérateurs et les paramètres

  • Exponentiation
  • Destructuring
  • Rest
  • Spread
  • Fonctions: valeurs par défaut des paramètres
  • Fonctions: paramètres nommés
  • Fonctions: valeurs de retour multiples
  • Atelier: Mise en oeuvre des nouveaux opérateurs rest, spread et destructuring
  • Atelier: Mise en oeuvre des opérateurs avec les fonctions
Module 4

Template Literals

  • String interpolation
  • Multi-line strings
  • Tagged template literals et tag functions
  • Spread
  • Atelier: Mise en oeuvre de l’interpolation de chaîne de caractère en place de la concaténation
  • Atelier: Implémentation d’un DSL avec les tagged template literals
Module 5

Arrow Functions

  • Définition et syntaxe des arrow functions
  • Pièges syntaxique
  • Lexical variables
  • Atelier: Implémentation de collection pipelines avec les Arrow Functions
  • Atelier: Etudes de cas: events handlers, classes
Module 6

OOP et Classes

  • Les évolutions de la syntaxe objet littérale
  • Les méthodes de Object
  • Déclaration de classe et instanciation d’objets
  • Classes vs Constructor Function et prototypes
  • Method Definitions
  • Héritage
  • Méthodes statiques
  • Atelier: Définition et dérivation de classe
  • Atelier: Création d’erreurs personnalisées en sous-classant Error
Module 7

Programmation asynchrone

  • Rappels sur la programmation asynchrone en JavaScript: call stack, callbacks, event loop
  • Promises
  • Async / await et fonctions asynchrones
  • Gestion d’erreur dans des programmes asynchrones
  • Atelier: Création et utilisation de promises
  • Atelier: Enchaînement et composition de promises
  • Atelier: Ecriture de code asynchrone avec les fonctions async
Module 8

Symbols

  • Que sont les symbols
  • Cas d’utilisation des symbols
  • L’API symbol
  • Atelier: Création et utilisation des symbols
Module 9

Itérateurs et Générateurs

  • L’interface Iterable et les itérables
  • L’interface iterator
  • Boucle for-of et autres constructions de langage pour itérer
  • Les générateurs
  • Générateurs comme itérateurs, observateurs, coroutines
  • Itérateurs et générateurs asynchrones
  • Itération asynchrone et for-await-of
  • Atelier: Utilisation et implémentation d’itérables
  • Atelier: Mise en oeuvre des générateurs
Module 10

Modules

  • Les bases des modules en JavaScript
  • Import et Export en détail
  • Utilisation des modules ES6 dans les navigateurs
  • Atelier: Modularisation d’une base de code existante
Module 11

Collections, données structurées et types

  • Set
  • Map
  • Typed Arrays et modèle mémoire
  • Évolutions des types: String, Array, Object, Number et Math, Regexp,...
  • Atelier: Mise en oeuvre des types et structures de données
Module 12

Réflection

  • L’objet Reflect
  • Les objets Proxy
  • Atelier: Méta programmation avec les proxies

Formations suggérées

JavaScript les fondamentaux du langage (JSFOND)

2 jours

JavaScript développer des applications web (JSDEVWEB)

2 jours

Node.js (NODEJS)

3 jours

TypeScript (TYPESCRIPT)

2 jours

Vue.js (VUEJS)

3 jours

Angular (ANGULAR)

3 jours

PWA - Progressive Web Applications (PWA)

2 jours

RxJS programmation réactive (RXJS)

2 jours

Nous contacter

Paris

48 Rue Jacques Dulud

92200 Neuilly-sur-Seine

+33 1 41 38 52 00

Lille

74 rue des Arts

59800 Lille

+33 3 66 72 61 32

Strasbourg

Crystal Park, 1 Avenue de l'Europe

67300 Schiltigheim

+33 3 88 47 04 38

Luxembourg

2, rue Drosbach

L-3372 Leudelange, Luxembourg

+352 26 54 47 1

Bordeaux

c/o Mama Works, 51 quai Lawton

33300 Bordeaux

Nantes

Zero Newton, 3 Rue Albert Camus

44000 Nantes

+33 2 55 59 07 00