sammanfattning: i denna handledning kommer du att lära dig om JavaScript fabriksfunktioner som är funktioner som returnerar objekt.
introduktion till fabriksfunktionerna i JavaScript
en fabriksfunktion är en funktion som returnerar ett nytt objekt. Följande skapar ett personobjekt som heter john
:
Code language: JavaScript (javascript)
utgång:
objektet john
har två egenskaper: firstName
och lastName
och en metod getFullName()
som returnerar det fullständiga namnet.
Antag att du måste skapa ett annat liknande objekt som heter jane
, du kan duplicera koden enligt följande:
Code language: JavaScript (javascript)
utgång:
objektet jane
har samma egenskaper och metod som objektet john
.
ju mer objekt du vill skapa, desto mer dubblettkod behöver du kopiera.
för att undvika att kopiera samma kod om och om igen kan du utveckla en funktion som skapar objektet person
:
Code language: JavaScript (javascript)
när en funktion skapar ett objekt kallas det en fabriksfunktion. createPerson()
är en fabriksfunktion eftersom den returnerar ett nytt person
– objekt.
följande kod använder createPerson()
fabriksfunktionen för att skapa två objekt john
och jane
:
Code language: JavaScript (javascript)
med fabriksfunktionen skapar du valfritt antal person
– objekt du vill ha utan att duplicera kod.
när du skapar ett objekt kräver det objektet ett utrymme i minnet. Om du har tusen person
objekt behöver du tusen mellanslag i minnet för att lagra dessa objekt. Dessa personobjekt har dock samma getFullName()
– metod.
för att undvika att upprepa samma getFullName()
– funktion i minnet kan du ta bort metoden getFullName()
från objektet person
:
Code language: JavaScript (javascript)
och flytta den här metoden till ett annat objekt:
Code language: JavaScript (javascript)
och innan du anropar getFullName()
– metoden på person
– objektet kan du tilldela metoden för behavior
– objektet till person
– objektet enligt följande:
Code language: JavaScript (javascript)
det blir svårare om du har många metoder och måste tilldela dem manuellt.
det är därför Object.create()
– metoden spelar in.
Objektet.skapa () metod
metoden Object.create()
skapar ett nytt objekt med ett befintligt objekt som prototyp för det nya objektet:
Code language: CSS (css)
så du kan använda Object.create()
enligt följande:
Code language: JavaScript (javascript)
nu kan du skapa person
objekt och anropa metoderna för objektet behavior
:
Code language: JavaScript (javascript)
koden fungerar alldeles utmärkt. Men i praktiken ser du sällan fabriksfunktionerna. Istället ser du funktionskonstruktorerna eller klasserna.
sammanfattning
- en fabriksfunktion är en funktion som returnerar ett nytt objekt.
- använd
Object.create()
för att skapa ett objekt med ett befintligt objekt som prototyp.
- var denna handledning till hjälp ?
- Janej