08. Objets.md 1.2 KB

JavaScript permet d'utiliser des objets. Là encore, étant un langage dynamique, il offre une grande souplesse pour créer et manipuler ceux-ci.

Ajoute ceci au script :

var personne = new Object();
personne.nom = "John Difool";
personne.afficheNom = function() {
  console.log("Je suis", this.nom);
}
personne.afficheNom();

Bien que JS permette de définir des "classes" (pas exactement avec le même sens qu'en Java), il permet aussi de créer des objets librement : soit avec la syntaxe ci-dessus, soit avec la syntaxe littérale qu'on va voir un peu plus loin.

Ici on a créé un objet avec deux propriétés, nom, une chaîne, et afficheNom, une fonction. Note que this dans la fonction représente l'objet à laquelle elle est liée, comme en Java !

On a affecté ces propriétes librement, sans que JS ne proteste.

En Java, il aurait fallu déclarer les propriétés, avec leur type et leur visibilité, et les méthodes, avec leurs argument(s) attendu(s), type retourné, et visibilité.

Cette possibilité de manipuler les objets aussi librement est une autre caractéristique des langages dynamiques... JS étant beaucoup plus laxiste que PHP ou Python. Et là encore, c'est à double tranchant !