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 ! 😄