JavaScript : paradigmes, programmation objet et fonctionnelle
Développement Web avancéDurée
2 jour(s)Niveau
DébutantRé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
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 : …
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 …
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 …