5.1 Notions de base
Plus tôt dans le cours, vous avez vu que les objets JavaScript sont des collections de paires clé/valeur. Dès que plusieurs propriétés sont fortement liées entre elles, il est préférable de les encapsuler dans un objet plutôt que de garder des variables indépendantes. Imaginons une application qui dessine différentes formes : cercles, rectangles, etc. Pour un cercle, on aurait radius, x, y — toutes ces variables décrivent la même entité.
Regrouper variables et fonctions dans un objet
On définit un objet cercle avec la syntaxe littérale (accolades). Chaque paire clé/valeur représente une propriété. La valeur peut être de n'importe quel type : nombre, chaîne, booléen, null, undefined, un autre objet, un tableau, ou même une fonction. On peut par exemple regrouper x et y sous une propriété location qui pointe vers un sous-objet, ajouter une propriété visible booléenne, et inclure une fonction draw directement dans l'objet.
const cercle = {
radius: 1,
location: { x: 1, y: 1 },
visible: true,
draw: function() {
console.log('draw');
}
};
cercle.draw();
Programmation orientée objet : la notion de méthode
On accède aux propriétés et fonctions de l'objet avec la notation point : cercle.draw(). Ce style de programmation, où l'on organise le programme autour d'objets qui collaborent, s'appelle la programmation orientée objet (POO). Dans le vocabulaire POO, une fonction qui fait partie d'un objet est appelée une méthode. On ne dit donc pas qu'on appelle « la fonction draw de l'objet cercle », mais « la méthode draw de l'objet cercle ». La syntaxe littérale est un moyen simple de créer des objets, mais à mesure que les applications grandissent, on a besoin d'autres façons de les créer — c'est l'objet de la prochaine vidéo.