JavaScript Factory Functions

Resume: i denne vejledning lærer du om JavaScript factory-funktionerne, som er funktioner, der returnerer objekter.

Introduktion til fabriksfunktionerne i JavaScript

en fabriksfunktion er en funktion, der returnerer et nyt objekt. Følgende opretter et personobjekt med navnet john:

Code language: JavaScript (javascript)

Output:

objektet john har to egenskaber: firstName og lastName og en metode getFullName(), der returnerer det fulde navn.

Antag at du skal oprette et andet lignende objekt kaldet jane, du kan duplikere koden som følger:

Code language: JavaScript (javascript)

Output:

objektet jane har samme egenskaber og metode som objektet john.

jo mere objekt du vil oprette, jo mere duplikatkode skal du kopiere.

for at undgå at kopiere den samme kode igen og igen, kan du udvikle en funktion, der opretter person objektet:

Code language: JavaScript (javascript)

når en funktion opretter et objekt, kaldes det en fabriksfunktion. createPerson() er en fabriksfunktion, fordi den returnerer et nyt person objekt.

følgende kode bruger createPerson() fabriksfunktionen til at oprette to objekter john og jane:

Code language: JavaScript (javascript)

med fabriksfunktionen opretter du et vilkårligt antal af de person objekter, du ønsker, uden at duplikere kode.

når du opretter et objekt, kræver objektet et mellemrum i hukommelsen. Hvis du har tusind person objekter, har du brug for tusind mellemrum i hukommelsen for at gemme disse objekter. Disse personobjekter har imidlertid den samme getFullName() metode.

for at undgå at gentage den samme getFullName() funktion i hukommelsen, kan du fjerne getFullName() metoden fra person objektet:

Code language: JavaScript (javascript)

og flyt denne metode til et andet objekt:

Code language: JavaScript (javascript)

og før du kalder getFullName() – metoden på person – objektet, kan du tildele metoden til behavior – objektet til person – objektet som følger:

Code language: JavaScript (javascript)

det bliver sværere, hvis du har mange metoder og skal tildele dem manuelt.

dette er grunden til Object.create() metoden kommer i spil.

Objektet.Opret () metode

metoden Object.create() opretter et nyt objekt ved hjælp af et eksisterende objekt som prototype for det nye objekt:

Code language: CSS (css)

så du kan bruge Object.create() som følger:

Code language: JavaScript (javascript)

nu Kan du oprette person objekter og kalde metoderne for behavior objektet:

Code language: JavaScript (javascript)

koden fungerer helt fint. Men i praksis vil du sjældent se fabriksfunktionerne. I stedet vil du se funktionskonstruktørerne eller klasserne.

oversigt

  • en fabriksfunktion er en funktion, der returnerer et nyt objekt.
  • brug Object.create() til at oprette et objekt ved hjælp af et eksisterende objekt som prototype.
  • var denne tutorial nyttig ?
  • Ja

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.