𝗙𝗮𝗰𝘁𝗼𝗿𝘆 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗮𝗻𝗱 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

Objekte einzeln nacheinander zu erstellen, ist ein Fehler.

Wenn Sie 100 Klassenkameraden haben und für jeden ein Objekt erstellen müssen, führt das Schreiben einzelner Objekte zu Problemen. Sie wiederholen Ihre Logik zu oft. Zudem riskieren Sie Bugs. Zum Beispiel könnten Sie später in Ihrem Code versehentlich einen Eigenschaftsnamen überschreiben.

Sie benötigen einen besseren Weg, um Logik wiederzuverwenden.

Factory Functions Stellen Sie sich eine Fabrik vor. Sie geben Rohstoffe hinein und erhalten ein fertiges Produkt. Eine Factory Function macht dasselbe. Sie nimmt Parameter entgegen und gibt ein neues Objekt zurück.

Beispiel:

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

Dieser Ansatz hält den Namen sicher. Sie können den Namen nicht versehentlich ändern, da er innerhalb des Funktionsumfangs (Function Scope) bleibt. Sie schreiben die Logik einmal und verwenden sie viele Male wieder.

Constructor Functions Constructor Functions erstellen ebenfalls Objekte. Sie verwenden das this-Schlüsselwort und das new-Schlüsselwort. Konventionsgemäß beginnen diese Funktionen mit einem Großbuchstaben.

Beispiel:

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

Wenn Sie das new-Schlüsselwort verwenden, erledigt JavaScript die Arbeit für Sie. Es erstellt ein neues Objekt, weist es this zu und gibt es automatisch zurück. Sie benötigen keine return-Anweisung.

Skalierung Ihres Codes Sie können diese Methoden mit Arrays kombinieren, um große Datenmengen zu verarbeiten.

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

classmates.forEach(c => console.log(c.reply()))

Dies macht Ihren Code sauber und skalierbar.

Das Hauptziel ist einfach:

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