Les constructeurs d'objets en JavaScript
Vous devez créer de nombreux objets du même type. JavaScript propose plusieurs façons d'y parvenir efficacement.
Fonctions constructeurs
Un constructeur est une fonction utilisée pour configurer de nouveaux objets. Suivez ces règles pour éviter les erreurs :
- Mettez une majuscule à la première lettre du nom de la fonction. Cela vous aide à l'identifier comme un constructeur.
- Utilisez le mot-clé
new. Si vous l'oubliez, la fonction s'exécutera comme une fonction normale et ne parviendra pas à créer l'objet.
Valeurs par défaut
Vous pouvez définir des valeurs par défaut dans votre constructeur. Cela garantit que vos objets restent valides même si vous omettez certains détails.
Exemple :
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
Si vous appelez new Person(), le nom devient "Unknown" et l'âge devient 0.
Object.create()
Vous pouvez utiliser Object.create() pour créer un nouvel objet basé sur un objet existant. Cela utilise l'héritage par prototype. Au lieu de copier les données, le nouvel objet est lié au prototype d'origine.
Optimisation de la mémoire
Ne placez pas les méthodes à l'intérieur du constructeur lui-même. Si vous le faites, chaque nouvel objet recevra sa propre copie de cette méthode. Cela gaspille de la mémoire.
À la place, ajoutez les méthodes au prototype. De cette façon, tous les objets partagent une version unique de la méthode.
Exemple :
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Héritage
Les classes permettent à une classe d'hériter d'une autre. Utilisez le mot-clé super() dans une classe enfant pour appeler le constructeur parent. Cela permet à l'enfant d'accéder aux propriétés du parent.
Avantages de l'utilisation des constructeurs :
- Code réutilisable : Créez de nombreux objets avec un seul modèle.
- Logique propre : Regroupez la configuration de l'objet à un seul endroit.
- Initialisation facile : Définissez des valeurs spécifiques lors de la création.
- Héritage : Construisez des objets complexes à partir d'objets plus simples.
Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp
Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96