Un objet est une structure qui peut contenir à la fois des propriétés (qui correspondent à des variables) et des méthodes (qui correspondent à des fonctions).
Un grand nombre d'objets sont prédéfinis dans JavaScript. Pratiquement tous les types de données ont des structures d'objet, ainsi les chaines de caractères, les tableaux, les éléments de la page web sont des objets. A cela vient s'ajouter des objets spécifiques comme l'objet Math
qui contient les constantes et fonctions mathématiques usuelles et l'objet Date
qui permet de manipuler les dates.
A titre d'exemple, voici un tableau défini par :
var monTableau=[1,2,3];
Le tableau est un objet Array
qui possède en particulier une propriété length
qui contient le nombre d'éléments du tableau. Pour y accéder il faut utiliser la notation pointée : monTableau.length
qui dans cet exemple est une variable qui contient la valeur 3. Les objets Array
contiennent également toutes sortes de méthodes. Par exemple la méthode push
ajoute un élément à la fin du tableau, ainsi après exécution de l'instruction monTableau.push(5)
le tableau contiendra : [1,2,3,5]
.
On peut facilement ajouter des propriétés ou des méthodes à un objet. Par exemple si on veut que monTableau
possède une méthode qui donne la somme de ses éléments, il faut écrire le code suivant :
monTableau.somme=function(){
var total=0;
for(var i=0;i<this.length;i++){
total=total+this[i];
}
return total;
}
Le nom de la méthode est somme
et on affecte une fonction à monTableau.somme
;
Pour faire la somme il faut parcourir le tableau dont les éléments sont numérotés de 0
à length-1
. Le mot
clé this
désigne l'objet lui-même. Dans la définition d'une méthode chaque fois qu'il est nécessaire de faire référence à une propriété ou à un méthode déjà incluse dans l'objet il faut utiliser this
.
Pour appeler la méthode ainsi créée il faut écrire : monTableau.somme()
.
On peut facilement créer ses propres objets pour regrouper dans une même structure des variables et des fonctions. La méthode la plus simple est d'utiliser la notation JSON (JavaScript Object Notation). Par exemple le code suivant définit un objet qui contient les coordonnées d'un point :
var point={
x:4,
y:5
};
Il faut remarquer que l'objet est délimité par des accolades, que l'affectation est réalisée par deux points et enfin que les différents éléments de l'objet sont séparés par des virgules.
Pour terminer, il faut préciser que la notion d'objet présentée sur cette page est très incomplète, mais cela est suffisant pour les programmes réalisés dans le cadre de la spécialité ISN.