Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PHP et JavaScript
  3. Les objets JavaScript
Extrait - PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés)
Extraits du livre
PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés) Revenir à la page d'achat du livre

Les objets JavaScript

Introduction

En JavaScript, la notion de classe n’existe pas et le langage n’est pas typé. C’est la différence avec PHP, mais on peut simuler le même comportement qu’en PHP en déclarant des pseudo-entités de classes, dont les attributs représenteront les variables et les méthodes seront les fonctions.

En effet, tout fonctionne en se fondant sur des objets, c’est-à-dire que toute entité ou structure peut être vue en tant qu’objet.

Une variable ne contient qu’une seule valeur, un objet est beaucoup plus, il peut contenir plusieurs valeurs, et même des fonctions.

Déclarer et utiliser un objet

Il y a plusieurs moyens de déclarer un objet en JavaScript, puisque tout est objet.

Pour comprendre la première façon de faire, on va suivre la création d’un exemple autour d’un objet personne, très simplifié.

Une personne possède en général un nom, un prénom, et un âge. On pourrait donc déclarer notre objet comme un tableau d’attributs :


<script> 
     var personne = { 
            nom      : "Durand",  
            prenom   : "Michel",  
            age      : 35 
     }; 
</script>
 

En fait, cette structure est bien connue des développeurs, il s’agit d’une structure JSON, qui est un format de données.

Pour accéder aux propriétés d’un objet, vous utiliserez le point (.) comme on l’a vu à plusieurs reprises dans les chapitres précédents avec l’objet document :


personne.nom
 

ou alors :


personne['nom']
 


<script>   
    var personne  = { 
           nom    : "Durand",  
           prenom : "Michel",  ...

Convention et bonne pratique de nommage

Vous avez vu dans l’exemple précédent que l’objet personne se comporte comme en PHP et qu’il est aussi à la fois le constructeur (que l’on retrouve sous la forme d’une fonction magique __construct() en PHP).

Cet objet pourra donc être instancié autant de fois que vous le voulez, et les bonnes pratiques de programmation veulent que l’on nomme cet objet avec une majuscule en première lettre :


<script>   
    function Personne(nom, prenom, age) { 
 

Le mot-clé prototype

Cette partie n’est pas évidente à appréhender, toutefois, dans les grandes lignes, le prototype en JavaScript permet de mettre en place l’héritage.

Le prototype est une propriété de l’objet function dès que l’on appelle le constructeur d’une fonction, c’est-à-dire dès que l’on instancie un objet (à l’aide de l’instruction new) :


<script> 
  personne1 = new Personne("Durand", "Michel", "35") 
  ... 
</script>
 

Cette instanciation va automatiquement créer une propriété prototype sur l’objet Personne comme ceci :


personne1.prototype
 

Cette propriété est un objet qui contient toutes les méthodes (fonctions) et tous les attributs (propriétés) accessibles par les instances de la fonction, par exemple :


<script>   
    function Personne(nom, prenom) {  
           this.nom = nom 
           this.prenom = prenom 
           personne.prototype.hello = function {     
                  document.write("Bonjour " + this.nom + " " + 
this.prenom + ".<br>")  
    } ...