Aller au contenu principal

JavaScript : paradigmes, programmation objet et fonctionnelle

Développement 174 arrow small right Web avancé

frontend web JavaScript POO

  • Durée

    2 jour(s)
  • Niveau

    Débutant
  • Référence

    DE-077

Présentation

JavaScript est un langage avec une histoire riche ayant façonné sa syntaxe. Un langage d’abord pensé pour de la manipulation de DOM (Document Object Model) et une programmation événementielle, où ses conventions se retrouvent agrémentées de celles de nombreuses bibliothèques comme jQuery ou Dojo. Puis, ce langage a dépassé l’environnement du navigateur, avec PhoneGap et NodeJS d’abord, puis Electron et React Native pour ne citer qu’eux. Si JavaScript a inspiré des évolutions dans différents langages de programmation, JavaScript a aussi pioché de bonnes idées ailleurs, influençant sa syntaxe et sa logique de programmation ; on citera à titre d’exemple la norme ECMAScript 6 apportant à JavaScript le concept de classes. Ainsi, dans JavaScript, cohabitent notamment un paradigme fonctionnel avec les logiques de map/reduce, un paradigme orienté objet avec le mot-clé class et un paradigme orienté prototype avec la définition flexible des structures. Ce cumul d’approches différentes, qui peut sembler incohérent ou obscur, a pourtant tout son intérêt selon vos objectifs.
À travers le prisme de la programmation orientée objet, cette formation vous propose d’étudier par la pratique différentes approches de programmation en JavaScript. À l’issue de cette formation, vous serez en mesure non seulement d’analyser les tendances de développement connexes à JavaScript pour vous aider à anticiper ses évolutions futures, mais également de mieux envisager les philosophies et choix de paradigmes d’autres langages.

Objectifs de la formation

  • Comprendre la notion de paradigme
  • Découvrir les différents paradigmes utilisés au sein de JavaScript
  • Savoir utiliser les différentes manières de créer des instances et classes
  • Comprendre les avantages et inconvénients des différents paradigmes
  • Analyser l’état actuel de JavaScript pour comprendre les évolutions à venir

Public

  • Toute personne souhaitant améliorer ses compétences en développement informatique.

Prérequis

  • Une connaissance du langage JavaScript équivalent à la formation DE-078 (JavaScript niveau 1 : dynamiser son site web) est nécessaire
  • Une connaissance de la programmation orientée objet est nécessaire
  • Une connaissance de la programmation fonctionnelle est un plus

Programme

1- Paradigmes de programmation

Qu’est-ce qu’un paradigme ? 
Que sont les paradigmes utilisés en JavaScript ? 
Différences entre l’orienté objet et l’orienté prototype
Rôle de la programmation fonctionnelle dans JavaScript

2- Objets et orienté prototype en JavaScript

Concepts d’orienté objet : encapsulation, polymorphisme, héritage, agrégation
Éléments d’orienté objet : constructeur, getter et setter, propriétés, méthodes
Les descripteurs de propriétés (Property Descriptor)
Duplicité du mot-clé « new » en JavaScript
Les fonctions « bind », « call » et « apply »
Affectation dynamique de propriétés et méthodes

3- Modèle basé sur des objets littéraux

Que sont les objets littéraux ? 
Quelle compatibilité avec les grands principes de la POO ? 
Avantages et inconvénients de ce modèle

4- Modèle basé sur les objets issus de fonctions

Que sont les objets issus de fonctions ? 
Quelle compatibilité avec les grands principes de la POO ? 
Avantages et inconvénients de ce modèle

5- Modèle basé sur les instances de classes

Comment créer des classes et des instances avec JavaScript ? 
Quelle compatibilité avec les grands principes de la POO ? 
Avantages et inconvénients de ce modèle

6- Conclusion

Clés pour choisir son modèle selon les besoins
Bonnes pratiques pour cumuler ces modèles dans votre projet
Qu’attendre des prochaines versions d’ECMAScript ?

Date de dernière modification : 22/03/2024

Organisation

162 arrow small up 163 arrow small down

Modalités d'évaluation :

Questionnaires à choix multiples (QCM) en fin de formation. L'intervenant formulera également une appréciation sur vos acquis pour l'entièreté de la formation.

Moyens pédagogiques :

Formation alternant la théorie et la pratique, avec un intervenant présentant la formation en direct. Possibilité de réaliser cette formation en face-à-face dans nos locaux, dans vos locaux d'entreprise ou à distance via visioconférence.
Une fois terminée, vous disposerez d'une attestation de suivi de la formation, ainsi que des contenus de cours relatifs au contenu présenté.

Informations pratiques :

En cas de dispense dans nos locaux, le matériel informatique est fourni et l'ensemble des commodités sont accessibles. Nos locaux sont également accessibles aux personnes à mobilité réduite : découvrir notre centre.
Retrouvez toutes les informations pratiques pour préparer votre formation sur notre page dédiée : informations pratiques.

Ces formations pourraient vous intéresser

  • Introduction à NodeJS : programmation JavaScript serveur

    Le développement JavaScript a connu un nouvel essor avec l’arrivée de NodeJS en 2009. D’un environnement majoritairement composé de sites web, JavaScript a été utilisé dans un nombre croissant d’environnements : …

    En savoir plus
  • POO et Design Patterns

    Le développement informatique nécessite d’être organisé et structuré pour faciliter la maintenance et l’évolutivité, en particulier dans le cadre d’un projet volumineux. Ces trente dernières années, de nouveaux …

    En savoir plus
  • JavaScript : communication asynchrone et sécurité

    JavaScript est un langage extrêmement versatile et très complet : il autorise de nombreuses fonctionnalités côté frontend. De manière non-exhaustive, on peut lister : effectuer des requêtes HTTP, stocker des …

    En savoir plus