Programmation JavaScript Moderne

Modifié le: 2022-08-17

Auditoire

Développeurs web

Durée

3 jours

Prérequis

Comprendre les bases du HTML et CSS. (Balises, styles, classes)

Description

JavaScript est un langage de programmation pour scripter des pages web interactives. Cela permet de modifier dynamiquement le look et le contenu des applications web. La grande majorité des plateformes web modernes utilisent JavaScript (WordPress, Office 365, Google Maps, etc).

JavaScript est le langage de programmation le plus utilisé dans le monde.

Plan de cours


Fondements de JavaScript

  • Historique du langage
  • Environnement de programmation
  • Navigateurs, ligne de commande et Serveur
  • Exemple: Hello World

Variables JavaScript

  • Déclaration de variables (const, let, var)
  • Mode Strict
  • Hoisting (hissage)
  • Portée (scope)
  • Types (Number, Boolean, Date, Math, String, Array)
  • Type coercion
  • Typeof
  • Equality vs Strict equality
  • Operators (Logical and Arithmetic)
  • Manipulation de chaines (string)
  • Manipulation de Dates
  • Boucles (For, while)
  • Énoncés conditionnels (if, switch, ternary, operators)

Tableaux et Objets (Arrays and Objects)

  • Utiliser des tableaux
  • Décomposition
  • Opérateur de décomposition
  • Définir des objets
  • Manipuler des objets
  • Initialisation d'objet littérale
  • Propriétés raccourcies (shorthand)

Fonctions

  • Déclaration des fonctions
  • Fonctions fléchées (Arrow functions)
  • Paramètres et paramètres par défaut
  • Retour de fonction
  • Paramètre du reste et opérateur de décomposition (spread)
  • Affecter par décomposition (destructuring)
  • Fermeteurs (closure)
  • Hisser (Hoisting)
  • Récursion

Outils

  • Visual Studio Code
  • Navigateurs (Chrome, Firefox, Edge, etc)
  • Débogueurs
  • Kangax

Utiliser le Document Object Model (DOM)

  • Manipulation du DOM
  • Types de Noeuds (Element, Text, Comment)
  • Objet Window: alerts, dialogs, timers, etc
  • Utiliser les datasets

Événements

  • Gestion des événements (onclick, onchange, onsubmit, etc)
  • Délégation des événements (event bubbling)
  • Event.target et event.currentTarget
  • preventDefault() et stopPropagation()

Validation de fomulaires

  • Valider avec HTML5
  • Valider avec JavaScript
  • Introduction aux expressions régulières

AJAX et requêtes asynchrones

  • XMLHttpRequest (xhr)
  • API Fetch (fetch)
  • Fonction de rappel (callbacks)
  • Promesses (promises)
  • Async/await
  • FormData

Classes

  • Classes
  • Héritage
  • Constructeurs
  • Getters et setters
  • Propriéts privées
  • Méthodes et propriétés statiques
  • Accéder la classe de base
  • Portée de "this"

Gestion des erreurs

  • Try
  • Catch
  • Throw
  • Finally

Modules

  • Import
  • Export
  • Default & Wildcard
  • Déclarations des modules en Html

Sujets Avancés

  • Higher Order Functions
  • Node.js
  • NPM
  • Linters (ESLint, Stylelint, etc)
  • Test Framework (Jest, Cypress, etc)