𝗙𝗼𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗱'𝘂𝘀𝗶𝗻𝗲 𝗲𝘁 𝗳𝗼𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗰𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗲𝘂𝗿𝘀 𝗲𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

Créer des objets un par un est une erreur.

Si vous écrivez manuellement un objet pour chaque utilisateur ou camarade de classe, vous répétez du code. Si vous avez 100 utilisateurs, vous écrivez la même logique 100 fois. Cela entraîne des bugs. Vous pourriez accidentellement modifier une propriété plus tard et faire planter votre application.

Utilisez plutôt ces deux modèles pour écrire un code propre.

  1. Fonctions d'usine (Factory Functions)

Imaginez une véritable usine. Des matières premières y entrent. Un produit fini en sort.

Une fonction d'usine prend des paramètres et renvoie un nouvel objet.

Exemple :

function classFactory(name) {
    return {
        reply() {
            return `${name} is present`
        }
    }
}

Les avantages :

  1. Fonctions constructeurs (Constructor Functions)

Les fonctions constructeurs créent également des objets. Elles utilisent le mot-clé "new" et le mot-clé "this". Par convention, on commence leur nom par une majuscule.

Exemple :

function Classmate(name) {
    this.name = name
    this.reply = function() {
        return `${this.name} is present`
    }
}

Lorsque vous utilisez "new", JavaScript fait le travail pour vous :

Vous n'avez pas besoin d'instruction "return".

Faire évoluer votre code

Vous pouvez combiner ces modèles avec des tableaux pour gérer de grandes quantités de données. Au lieu de taper chaque nom, utilisez une fonction map.

Exemple :

const names = ['Kali', 'Andrew', 'Pearl', 'Percy']
const classmates = names.map(name => new Classmate(name))

Vous avez maintenant une liste d'objets prête à l'emploi.

Résumé :

Source : https://dev.to/pearlodi/factory-functions-and-constructor-functions-in-javascript-lmb