Les objets en JavaScript

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).

Objets prédéfinis

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;
}

Objets personnalisés

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.