Commençons tout de suite avec une des nouveautés les plus intéressantes d’ES6 : il est désormais possible d’utiliser des classes en JavaScript !
Pour créer une simple classe Vehicule avec ES5, nous aurions dû faire comme ceci :
function Vehicle(color, drivingWheel) {
this.color = color;
this.drivingWheel = drivingWheel;
this.isEngineStart = false;
}
Vehicle.prototype.start = function start(){
this.isEngineStart = true;
}
Vehicle.prototype.stop = function stop(){
this.isEngineStart = false;
}
Le code ci-dessus était le moyen détourné utilisé pour créer un objet, en utilisant la mécanique des prototypes, propre à JavaScript.
Si vous ne voyez pas ce qu’est l’héritage prototypal, vous pouvez regarder cette vidéo très bien faite sur Youtube, en français.
Mais ES6 introduit une nouvelle syntaxe : class. C’est le même mot clé que dans d’autres langages, mais sachez que c’est toujours de l’héritage par prototype qui tourne derrière, mais vous n’avez plus à vous en soucier.
class Vehicle {
constructor(color, drivingWheel) {
this.color = color;
this.drivingWheel = drivingWheel;
this.isEngineStart = false;
}
start() {
this.isEngineStart = true;
}
stop() {
this.isEngineStart = false;
}
}
Voilà une classe JavaScript, bien différente de ce que l’on avait précédemment. Si vous avez bien remarqué à la ligne 2, on a même droit à un constructeur !
C’est merveilleux ! 😄