Le langage Javascript étendre les classes prédéfinies

Le langage JavaScript peut apparaître comme « exotique ». Il ne se base pas sur le principe de la programmation orientée objet classique comme celle du C++ ou du Java. Son principe est la programmation orienté objet par prototype. Je ne désire pas ici aller dans les détails de ce principe mais juste faire quelques illustration. Par exemple le mot clef « class » n’existe pas. En fait on ne définit que des objets qui éventuellement permettent de définir d’autres objets.

JavaScript est essentiellement utilisé pour créer des scripts dans les navigateurs web. Il faut bien distinguer dans ce cas le JavaScript le coeur du langage et du DOM un ensemble d’interfaces pour interagir avec le navigateur. Ici, je m’intéresse au JavaScript. Pour étudier ce langage, je travaille avec Rhino ce qui explique la présence de « print » dans le code.

L’exemple suivant montre comment étendre les classes prédéfinies dans le langage JavaScript comme l’objet String ou l’objet Date. il s’inspire fortement de deux d’articles de Thierry Templier publiés sur le site developpez.com .

function inheritance(destination, source) {
  for(var element in source) {
    destination[element]=source[element];
  }
}

inheritance(Date.prototype,{
  showWithSeparator: function(separator) {
    var year=1900+this.getYear();
    var month=this.getMonth()+1;
    var day=this.getDate();
    
    if(month<10)
      month="0"+month;
    
    if(day<10)
      day="0"+day;
    
    return day+separator+month+separator+year;
  }
});

var myDate=new Date(2005,12,23);
print(myDate.showWithSeparator("-"));

var myDate2=new Date(2005,2,3);
print(myDate2.showWithSeparator("/"));
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s


%d blogueurs aiment cette page :