Logo JavaScript / ECMAScript : Le langage de ES3 à ESNext

Formation JavaScript / ECMAScript : Le langage de ES3 à ESNext

ECMAScript est un standard de script de programmation pour le Web. Il définit les règles et les spécifications pour la syntaxe, les types de données, les structures de contrôle de flux et les fonctionnalités de programmation de haut niveau pour les langages de script utilisés sur le Web. ECMAScript est souvent utilisé de manière interchangeable avec le terme "JavaScript", qui est un langage de script populaire qui a été conçu pour être compatible avec les spécifications ECMAScript. Cependant, il existe d'autres langages de script qui sont également conformes aux spécifications ECMAScript, tels que JScript et ActionScript. ECMAScript est maintenu et développé par le Technical Committee 39 (TC39) de l'ECMA International, une organisation de normalisation de l'industrie de l'informatique. Les nouvelles versions de ECMAScript sont publiées tous les ans et ajoutent de nouvelles fonctionnalités et améliorations au langage de script. La dernière version en date est ECMAScript 2022 (ES13).

Objectifs pédagogiques

  • Développer des programmes en JavaScript
  • Comprendre les nouveaux API et nouvelles syntaxes
  • Connaître les différences entre le modèle objet de JavaScript et celui d'un language comme Java
  • Structurer proprement du code asynchrone
  • Identifier les projets pour lesquels TypeScript serait adapté

Pré-requis

  • Maitrise d'un langage de programmation
  • Notions de programmation orientée objet

Public

  • Développeurs
  • Chefs de projets

Programme

Jour 1

Introduction

  • Les IDE JavaScript : Visual Studio Code, WebStorm, EditorConfig
  • Historique et documentation
  • Fonctionnement d’un moteur JavaScript : interpretation, compilation JIT
  • Compatibilité des navigateurs, mode strict, transpilers, polyfills

Syntaxe et API

  • Types primitifs : boolean, number, string
  • Types objets : array, object, function
  • Types spéciaux : undefined, null
  • Variables et portées : var, let, const
  • Les opérateurs et structures de contrôle
  • Les API du langage : String, Array, RegExp

Fonctions

  • Déclaration : function declaration, anonymous function expression, named function expression
  • Paramètres : nombre, options, valeur par défaut, fonctions variadiques
  • Gestion d’erreurs, exceptions
  • Scope et closure
  • Callbacks synchrones
  • Callbacks asynchrones et boucle d’événement
  • API Function : call, apply, bind

Jour 2

Programmation Orienté Objet

  • Modèle statique (classes en Java) vs Modèle dynamique (dictionnaires en Java)
  • Extensibilité des objets, get/set, defineProperty
  • Object Literal et JSON
  • Factory Function
  • Constructor Function et Prototype
  • Héritage

ECMAScript 6 / ECMAScript 2015

  • Portées de bloc : let, const
  • Default Params
  • Rest, Spread operators
  • Shorthand, method, computed properties
  • Template strings
  • Déstructuration des tableaux et des objets
  • Classes, héritage, super, static
  • Itérables, boucle for .. of
  • Générateurs, symboles
  • Modules ECMAScript
  • Nouveaux API : Map, Set, Reflect, Proxy, Object, String, Array...

ECMAScript 7, 8, 9, 10, 11, ESNext

  • ES7 / ES2016 : Exponentiation, Array.prototype.includes
  • ES8 / ES2017 : Virgules finales, async / await, Object.values/entries, String Padding, Atomics
  • ES9 / ES2018 : Object Rest/Spread, Nouveautés RegExp, Promise.prototype.finally...
  • ES10 / ES2019 : Optional catch binding, Array.prototype.{flat,flatMap}...
  • ESNext : le futur de JavaScript, TC39, processus de normalisation

Jour 3

Programmation asynchrone

  • Boucles d’événements, files d'attentes
  • Utiliser this avec des callbacks sans danger
  • Callback Hell / Pyramid of Doom

Structurer son code Asynchrone

  • La bibliothèque Async
  • Les Promesses
  • Coroutine avec les Générateurs
  • Fonctions asynchrones (async / await)
  • Les Observables (RxJS)

TypeScript, une surcouche de JavaScript qui s’approche de Java

  • Un surensemble de ECMAScript
  • Typage statique
  • Interfaces
  • Comportements différents d’ECMAScript
  • Décorateurs

Méthodes mobilisées

  • Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
  • Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
  • Un support de cours en version numérique sera remis à chaque participant

Modalités d’évaluation

  • Questions orales ou écrites (QCM)
  • Exercices pratiques
  • Auto-positionnement en amont et aval de la formation

Accessibilité aux personnes handicapées

Nous nous engageons à rendre notre formation JavaScript / ECMAScript : Le langage de ES3 à ESNext accessible aux personnes en situation de handicap. Merci de nous contacter afin que nous puissions réaliser les adaptations nécessaires en amont de la formation.
Dernière modification le 13/01/2023