Classes JavaScript
ECMAScript 2015, également connu sous le nom d'ES6, a introduit les classes JavaScript.
Les classes JavaScript sont des modèles pour les objets JavaScript.
Syntaxe de classe JavaScript
Utilisez le mot-clé class
pour créer une classe.
Ajoutez toujours une méthode nommée constructor()
:
Syntaxe
class ClassName {
constructor() { ... }
}
Exemple
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
L'exemple ci-dessus crée une classe nommée "Car".
La classe a deux propriétés initiales : "nom" et "année".
Une classe JavaScript n'est pas un objet.
C'est un modèle pour les objets JavaScript.
Utiliser une classe
Lorsque vous avez une classe, vous pouvez l'utiliser pour créer des objets :
Exemple
let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
L'exemple ci-dessus utilise la classe Car pour créer deux objets Car .
La méthode constructeur est appelée automatiquement lorsqu'un nouvel objet est créé.
La méthode constructeur
La méthode constructeur est une méthode spéciale :
- Il doit avoir le nom exact "constructeur"
- Il est exécuté automatiquement lorsqu'un nouvel objet est créé
- Il est utilisé pour initialiser les propriétés de l'objet
Si vous ne définissez pas de méthode constructeur, JavaScript ajoutera une méthode constructeur vide.
Méthodes de classe
Les méthodes de classe sont créées avec la même syntaxe que les méthodes d'objet.
Utilisez le mot-clé class
pour créer une classe.
Ajoutez toujours une constructor()
méthode.
Ajoutez ensuite n'importe quel nombre de méthodes.
Syntaxe
class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
Créez une méthode Class nommée "age", qui renvoie l'âge de la voiture :
Exemple
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
let date = new Date();
return date.getFullYear() - this.year;
}
}
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";
Vous pouvez envoyer des paramètres aux méthodes Class :
Exemple
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
let date = new Date();
let year = date.getFullYear();
let myCar = new
Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is
" + myCar.age(year) + " years old.";
Prise en charge du navigateur
Le tableau suivant définit la première version du navigateur avec prise en charge complète des classes en JavaScript :
Chrome 49 | Edge 12 | Firefox 45 | Safari 9 | Opera 36 |
Mar, 2016 | Jul, 2015 | Mar, 2016 | Oct, 2015 | Mar, 2016 |
Vous en apprendrez beaucoup plus sur les classes JavaScript plus loin dans ce didacticiel.