70. Fonctions constructeurs (POO héritée)
Avant qu'ES6 n'introduise le mot-clé class (sucre syntaxique), JavaScript utilisait des fonctions constructeurs pour définir des modèles afin de créer plusieurs objets du même type.
Définir un constructeur
- La fonction est nommée en commençant par une majuscule (convention).
- Elle prend des paramètres pour définir les propriétés initiales.
- Elle utilise
thispour assigner des propriétés au nouvel objet créé.
javascript
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log(Salut, je suis ${this.name}.);
};
}
Créer des instances (mot-clé new)
Pour créer un nouvel objet à partir de ce modèle, nous devons utiliser le mot-clé new.
javascript const alice = new Person('Alice', 28); const bob = new Person('Bob', 35);
alice.greet(); // Salut, je suis Alice. console.log(bob.age); // 35
Essentiel : Le mot-clé new crée automatiquement un objet vide, lie this à cet objet, exécute la fonction et renvoie le nouvel objet.