Fabrikfunktionen in JavaScript

Fabrikfunktionen in JavaScript
Beim Schreiben eines Programms gibt es Situationen, in denen Sie schnell mehrere Instanzen eines Objekts hinzufügen möchten. Fabrikfunktionen In JavaScript werden zu diesem Zweck explizit verwendet. Eine reale Fabrik kann massiv und schnell mehrere Kopien eines Artikels produzieren. Gleiches gilt für die Fabrikfunktionen.

In JavaScript gibt eine Fabrikfunktion ein Objekt zurück, das wiederverwendet werden kann, um mehrere Instanzen desselben Objekts zu erstellen. Es kann zusätzlich Argumente akzeptieren, die es Ihnen ermöglichen, das zurückgegebene Objekt anzupassen.

In dieser Beschreibung werden die Fabrikfunktionen in JavaScript mit Hilfe geeigneter Beispiele erörtert. So lass uns anfangen!

Fabrikfunktion in JavaScript

JavaScript -Fabrikfunktionen haben die gleiche Funktionalität wie eine Klassenfunktion oder ein Konstruktor. Diese Funktionen verwenden jedoch nicht die “neuSchlüsselwort beim Erstellen einer Objektinstanz und zurückgibt ein Objekt, das die Methode oder die hinzugefügten Werte umfasst.

Wenn Sie also eine komplexe Logik haben und mehrere Objektinstanzen wiederholt konstruieren müssen, fügen Sie diese Logik einmal in einer Fabrikfunktion hinzu und verwenden Sie sie dann zum Erstellen von Objekten.

Beispiel: So verwenden Sie Fabrikfunktionen in JavaScript
Zunächst werden wir eine erstellen "Mitarbeiter1"Objekt mit zwei Eigenschaften:"Name" Und "Bezeichnung”:

Sei Mitarbeiter1 =
Name: 'Alex',
Bezeichnung: 'Manager' ,
Zeige Info()
Geben Sie dies zurück.Name + 'ist ein' + dies.Bezeichnung;

;
Konsole.Protokoll (Mitarbeiter1.Zeige Info());

Wir haben auch eine "hinzugefügt"Zeige Info()Methode, die die Objekteigenschaften in einem String -Format ausgibt.

Schauen Sie sich die Ausgabe der ShowInfo () -Methode für die “anMitarbeiter1" Objekt:

Nehmen wir nun an, Sie möchten ein anderes Objekt erstellen “Mitarbeiter2”Für einen anderen Mitarbeiter. Zu diesem Zweck müssen Sie denselben Code ausschreiben, während Sie die Werte von Eigenschaften entsprechend Ihren Anforderungen ändern:

SEITETEE2 =
Name: 'Stepheny',
Bezeichnung: 'Video Editor' ,
Zeige Info()
Geben Sie dies zurück.Name + 'ist ein' + dies.Bezeichnung;

;
Konsole.Protokoll (Mitarbeiter2.Zeige Info());

Sie können das oben gegebene Verfahren zum Erstellen einiger Mitarbeiterobjekte befolgen. Aber was ist, wenn Sie 100 Mitarbeiterobjekte erstellen möchten? In einem solchen Fall konsumiert das Erstellen jedes Objekts beim Schreiben desselben Code.

Sie können eine Werksfunktion verwenden, um Sie bei der Vermeidung von Code -Duplikation zu unterstützen. Es schafft ein Objekt, ohne in komplexe Klassen zu tauchen oder die „zu verwenden“neu" Stichwort.

Jetzt werden wir eine JavaScript -Fabrikfunktion erstellen “Schaffung von Mitarbeiter”Zum Erstellen unserer Mitarbeiterobjekte:

Funktion createPoyPoPoPoToPoMee (Name, Bezeichnung)
zurückkehren
Name Name,
Bezeichnung: Bezeichnung,
Zeige Info()
Geben Sie dies zurück.Name + 'ist ein' + dies.Bezeichnung;

Die oben gegebene Fabrikfunktion gibt ein Objekt zurück, das die als Argumente übergebenen Eigenschaftswerte umfasst.

Im nächsten Schritt werden wir drei als als benannte Mitarbeiterobjekte erstellen Alex, Schmied, Und Marie:

lass Alex = createPoperee ('Alex', 'Manager');
lass Smith = createPoyeee ('Smith', 'Video Editor');
lass marie = createPoperee ('marie', 'content writer');

Danach werden wir die ShowInfo () -Funktion für jedes Mitarbeiterobjekt aufrufen:

Konsole.Protokoll (Alex.Zeige Info());
Konsole.Protokoll (Smith.Zeige Info());
Konsole.Protokoll (Marie.Zeige Info());

Die Ausführung des angegebenen JavaScript -Programms bedeutet, dass wir mithilfe von Fabrikfunktionen erfolgreich Mitarbeiterobjekte erstellt haben:

Speicherplatzproblem mit Fabrikfunktionen

Wenn Sie im vorherigen Beispiel ein Mitarbeiterobjekt erstellen und es in einer Variablen speichern, benötigt dieses Objekt Speicherplatz, wodurch die Codeleistung verlangsamt wird. Sie können dieses Problem jedoch vermeiden, indem Sie das entfernen “Zeige Info()Methode aus der Fabrikfunktion und das Speichern in einer anderen Variablen.

Aus unserem Programm werden wir das entfernen “Zeige Info()”Methode aus der Fabrikfunktion createPopereToPoToPoTePoyee () und speichern Sie sie in einer separaten Variablen mit dem Namen“X”:

Funktion createPoyPoPoPoToPoMee (Name, Bezeichnung)
zurückkehren
Name Name,
Bezeichnung: Bezeichnung,


const x =
Zeige Info()
Geben Sie dies zurück.Name + 'ist ein' + dies.Bezeichnung;

Als nächstes werden wir zwei Mitarbeiterobjekte erstellen. “Alex" Und "Schmied,"Und bevor Sie sich die anrufen"Zeige Info()"Methode für diese Objekte zuweisen wir die Objektmethode"X”In das Arbeitnehmerobjekt folgendermaßen:

lass Alex = createPoperee ('Alex', 'Manager');
lass Smith = createPoyeee ('Smith', 'Video Editor');
Alex.ShowInfo = x.Zeige Info;
Schmied.ShowInfo = x.Zeige Info;
Konsole.Protokoll (Alex.Zeige Info());
Konsole.Protokoll (Smith.Zeige Info());

Hier ist die Ausgabe, die wir aus der Ausführung des oben gegebenen Programms erhalten haben:

Der bereitgestellte Ansatz ist jedoch nicht skalierbar, wenn Sie mehrere Methoden für ein Mitarbeiterobjekt hinzufügen möchten, da Sie sie einzeln zuweisen müssen. Wenn dies der Fall ist, sollten Sie verwenden “Objekt.erstellen()Methode in Ihrem JavaScript -Programm.

Objekt.create () Methode in JavaScript

Das Objekt.Die Methode create () im JavaScript erstellt ein neues Objekt basierend auf dem vorhandenen Objekt als neuer Objektprototyp.

Wir können das Objekt verwenden.Auf diese Weise erstellen () Methode:

const x =
Zeige Info()
Geben Sie dies zurück.Name + 'ist ein' + dies.Bezeichnung;

Funktion createPoyPoPoPoToPoMee (Name, Bezeichnung)
STOPALEE = Objekt lassen.erstellen (x);
Mitarbeiter.Name = Name;
Mitarbeiter.Bezeichnung = Bezeichnung;
Return -Mitarbeiter;

Als nächstes werden wir unsere Mitarbeiterobjekte erstellen und dann die Methode von “aufrufen“X”Objekt, das auf ShowInfo () ist:

lass Alex = createPoperee ('Alex', 'Manager');
lass Smith = createPoyeee ('Smith', 'Video Editor');
Konsole.Protokoll (Alex.Zeige Info());
Konsole.Protokoll (Smith.Zeige Info());

Die Ausgabe, die wir in der Konsole gesehen haben, bedeutet, dass unser Programm mit dem Objekt vollkommen gut funktioniert.create () Methodenimplementierung.

Abschluss

In JavaScript ist eine Fabrikfunktion eine Art von Funktion, die ein Objekt zurückgibt und die Verwendung von nicht erfordert neu Stichwort. Es kann zur Initialisierung eines Objekts verwendet werden, ähnlich wie bei einem Konstruktor. Es wird auch als nützliches Werkzeug angesehen, mit dem Sie mehrere Objektinstanzen schnell erstellen können. In diesem Aufschreiben wurden Fabrikfunktionen in JavaScript mit Hilfe geeigneter Beispiele besprochen.