Depuis quelques temps, l’utilisation du javascript se démocratise. De langage permettant de faire clignoter un texte ou défiler un bandeau de pub sur votre site multimania, il est progressivement devenu un outil à part entière de toute application web, jusqu’au point, atteint récemment, d’être auto suffisant, et ainsi de voir émerger un certain nombre de librairies permettant de réaliser la partie interface d’une application (presque) exclusivement en javascript.
Pourtant, on partait de loin ! Très longtemps considéré par la majorité comme un language de bidouilleur tout juste bon à sortir du code inmaintenable, on aura tout entendu sur javascript : depuis « nan mais de toute façon javascript ca marche pas » jusqu’a « nan mais javascript c’est nul, c’est pas orienté objet : y a pas de classe » en passant par »nan mais moi le prototype j’ai rien pigé, pourquoi ils ont fait ca, sérieux ? », sans oublier le fameux « c’est quoi ce mot clef ‘this’ qui change tout le temps ? c’est vraiment le comportement voulu ? ». Encore maintenant, alors qu’il est devenu un des outils de tous les jours de pas mal de développeurs, ce genre de question perdure, démontrant que le mysticisme autour de javascript n’est toujours pas vraiment levé…
C’est pourquoi je pense qu’il est très important de comprendre les particularités de ce langage lors de son utilisation. Langage dont les concepts sont, de plus, aussi simples que puissants, pour peu que l’on accepte qu’il ne fasse pas tout comme les autres… Cette série d’articles, qui débute avec celui-ci, aura donc cet objectif : la compréhension des concepts inhérents au langage, ainsi que les subtilités et astuces tournant autour. Back to basics.
Dans ce premier article, je vais donc tenter de montrer le plus simplement possible les différentes approches pour faire de l’orienté objet » et des « classes » en javascript (sujet qui, contrairement aux idées reçues, est abordé depuis quelques temps maintenant), jusqu’à arriver sur l’approche prototype, concept apparemment proche du voodoo, que je ne manquerai pas de démystifier. Aller, c’est parti !
Lire la suite de cet article »