Le JavaScript, un langage orienté objet
Au tout début de ce cours, nous avons défini le JavaScript comme étant un langage orienté objet.
Cela signifie que ce langage a été construit autour du concept d’objets, et que son fonctionnement même se base sur l’utilisation d’objets.
En effet, en JavaScript, quasiment tout est avant tout objet :
- Les chaînes de caractères, nombres et booléens peuvent être des objets (ou des valeurs primitives traitées comme des objets) ;
- Les fonctions sont des objets ;
- Les tableaux sont des objets ;
- Les dates sont des objets ;
- Les expressions régulières sont des objets.
En bref, vous devez absolument comprendre ce que sont les objets et comment ils fonctionnent afin de bien comprendre le JavaScript.
Qu’est-ce qu’un objet ?
Dans la « vraie » vie, par exemple, un crayon est un objet.
Il existe des crayons de différentes couleurs et de différentes tailles ou formes. La couleur, taille ou forme d’un crayon vont être des propriétés.
Tous les crayons vont posséder les mêmes propriétés (tous les crayons possèdent une taille) mais les valeurs associées à ces propriétés vont être différentes (chaque crayon peut avoir une taille différente des autres).
De plus, un crayon sert à écrire. « Ecrire » est donc ici une fonction de l’objet crayon ou encore ce que nous allons désormais appeler une méthode.
Les objets en JavaScript
En JavaScript, tout comme dans la vraie vie, un objet va contenir un ensemble de propriétés et de méthodes.
Dans ce cours, nous avons déjà vu ce qu’étaient les variables et avons appris à les manipuler.
Nous avons découvert que les variables pouvaient stocker différents types de valeurs comme une chaîne de caractères, un nombre, un booléen, etc.
Cependant, jusqu’à présent, nous n’avons fait stocker qu’une seule valeur à la fois à nos variables. Plus précisément, nous avons fait stocker ce que l’on appelle des valeurs primitives à nos variables.
En réalité, les variables en JavaScript vont toujours stocker soit des valeurs primitives, soit des objets.
Comme un objet peut contenir différentes propriétés (et méthodes) et leurs valeurs associées, nos variables vont également de fait pouvoir stocker plusieurs valeurs lorsqu’elles vont stocker un objet.
Propriétés et méthodes des objets
Les objets en JavaScript vont contenir des propriétés et méthodes.
Les « propriétés » d’un objet peuvent être assimilées à des variables telles que nous les avons vues précédemment. Elles sont constituées d’un nom et d’une valeur séparés par deux points (« : »).
Les « méthodes » d’un objet peuvent être assimilées à des fonctions qui vont elles mêmes être stockées dans des propriétés.
Si cela semble abstrait pour le moment, pas d’inquiétude : c’est tout à fait normal. Tout devrait très vite se clarifier lorsque nous allons voir des exemples ensemble.

Dans l’exemple ci-dessus, j’ai créé un premier objet moi qui est en l’occurrence un objet littéral (nous reparlerons de ce concept).
Nous n’allons pas apprendre à créer des objets immédiatement donc pour le moment concentrez vous seulement sur les concepts de propriétés et de méthodes.
Comme je l’ai indiqué, vous pouvez voir que notre objet moi contient des propriétés et une méthode.
Par exemple, la paire prenom : "Pierre" est une première propriété avec sa valeur.
Pour les méthodes, la nuance est plus complexe à percevoir. En effet, vous remarquez qu’on assigne non pas une valeur simple mais une fonction qui ne possède pas de nom à notre propriété identite.
Pour accéder aux valeurs retournées par cette fonction sans nom, nous allons devoir utiliser la propriété identitesous forme de méthode en ajoutant un couple de parenthèses comme ceci : identite(). Cela va avoir pour effet de déclencher l’exécution de notre méthode.
Cependant identite reste avant tout une propriété de moi.
Cet exemple est un peu complexe, et utilise des notions que nous n’avons pas encore étudiées, donc pas de panique si vous ne comprenez pas tout tout de suite. Pour le moment, encore une fois, contentez vous d’observer ce que sont les propriétés et les méthodes.
Dans les parties à venir, nous allons nous familiariser petit à petit avec tout ce vocabulaire nouveau.