In JavaScript, una funzione di fabbrica restituisce un oggetto che può essere riutilizzato per realizzare più istanze dello stesso oggetto. Può inoltre accettare argomenti che consentono di personalizzare l'oggetto restituito.
Questo articolo discuterà le funzioni di fabbrica in JavaScript con l'aiuto di esempi appropriati. Quindi iniziamo!
Funzione di fabbrica in javascript
Le funzioni di fabbrica JavaScript hanno la stessa funzionalità di una funzione di classe o un costruttore; Tuttavia, queste funzioni non usano il "nuovo"Parola chiave durante la creazione di un'istanza dell'oggetto e restituire un oggetto che comprende il metodo o i valori aggiunti.
Quindi, se hai una logica complessa e hai bisogno di costruire ripetutamente diverse istanze di oggetti, aggiungere quella logica una volta in una funzione di fabbrica e quindi utilizzarla per la creazione di oggetti.
Esempio: come utilizzare le funzioni di fabbrica in JavaScript
Prima di tutto, creeremo un "dipendente1"Oggetto con due proprietà:"nome" E "designazione":
Abbiamo anche aggiunto un “showinfo ()"Metodo che emetterà le proprietà dell'oggetto in un formato di stringa.
Dai un'occhiata all'output del metodo ShowInfo () per "dipendente1"Oggetto:
Ora, diciamo che vuoi creare un altro oggetto "dipendente2"Per un dipendente diverso. A tale scopo, devi scrivere lo stesso codice durante la modifica dei valori delle proprietà in base alle tue esigenze:
let Employee2 =È possibile seguire la procedura di cui sopra per la creazione di alcuni oggetti dei dipendenti. Ma cosa succede se vuoi creare 100 oggetti dei dipendenti? In tal caso, la creazione di ciascun oggetto separatamente mentre scrivi lo stesso codice più volte consumerà molto tempo, sforzo e potrà rendere il tuo codice complesso per gestire.
Puoi utilizzare una funzione di fabbrica per aiutarti a evitare la duplicazione del codice. Crea un oggetto senza immergersi in classi complesse o usare il "nuovo" parola chiave.
Ora creeremo una funzione di fabbrica JavaScript "Createmployee"Per la creazione di oggetti dei nostri dipendenti:
funzione createemployee (nome, designazione)La funzione di fabbrica di cui sopra restituirà un oggetto che comprende i valori della proprietà passati come argomenti.
Nel prossimo passaggio, creeremo tre oggetti dei dipendenti chiamati come Alex, fabbro, E Marie:
let alex = createmployee ('alex', 'manager');Dopo averlo fatto, invocheremo la funzione ShowInfo () per ciascuno degli oggetti dei dipendenti:
console.Registro (Alex.showinfo ());L'esecuzione del programma JavaScript dato significa che abbiamo creato con successo l'oggetto dei dipendenti con l'aiuto delle funzioni di fabbrica:
Problema di spazio di memoria con le funzioni di fabbrica
Nell'esempio precedente, quando si crea un oggetto dipendente e lo memorizzi in una variabile, quell'oggetto ha bisogno di spazio di memoria, rallentando quindi le prestazioni del codice. Tuttavia, puoi evitare questo problema rimuovendo il "showinfo ()"Metodo dalla funzione di fabbrica e memorizzandolo in un'altra variabile.
Dal nostro programma, rimuoveremo il "showinfo ()"Metodo dalla funzione di fabbrica CreateEmployee () e lo memorizza in una variabile separata denominata"X":
funzione createemployee (nome, designazione)Successivamente, creeremo due oggetti dei dipendenti, "Alex" E "fabbro,"E prima di invocare il"showinfo ()"Metodo per questi oggetti, assegneremo il metodo oggetto"X"All'oggetto dipendente nel modo seguente:
let alex = createmployee ('alex', 'manager');Ecco l'output che abbiamo ottenuto dall'esecuzione del programma di cui sopra:
Tuttavia, l'approccio fornito non è scalabile se si desidera aggiungere più metodi per un oggetto dipendente perché è necessario assegnarli individualmente. In tal caso, dovresti utilizzare "Oggetto.creare()"Metodo nel tuo programma JavaScript.
Oggetto.Crea () metodo in JavaScript
L'oggetto.Il metodo Create () in JavaScript crea un nuovo oggetto in base all'oggetto esistente come nuovo prototipo di oggetti.
Possiamo usare l'oggetto.Crea () metodo in questo modo:
const x =Successivamente, creeremo i nostri oggetti dei dipendenti e poi invocheremo il metodo di "X"Oggetto che è showInfo ():
let alex = createmployee ('alex', 'manager');L'output che abbiamo visto nella console significa che il nostro programma funziona perfettamente con l'oggetto.Crea () Implementazione del metodo.
Conclusione
In JavaScript, una funzione di fabbrica è un tipo di funzione che restituisce un oggetto e non richiede l'uso di nuovo parola chiave. Può essere usato per l'inizializzazione di un oggetto, simile a un costruttore. È anche considerato uno strumento utile che consente di produrre rapidamente più istanze di oggetti. Questo articolo ha discusso delle funzioni di fabbrica in JavaScript con l'aiuto di esempi appropriati.