JavaScript Factory Functions

Sommario: in questo tutorial, imparerai a conoscere le funzioni JavaScript factory che sono funzioni che restituiscono oggetti.

Introduzione alle funzioni factory in JavaScript

Una funzione factory è una funzione che restituisce un nuovo oggetto. Quanto segue crea un oggetto person denominato john:

Code language: JavaScript (javascript)

Uscita:

L’oggetto john ha due proprietà: firstName e lastName e un metodo getFullName() che restituisce il nome completo.

Supponiamo che sia necessario creare un altro oggetto simile chiamato jane, è possibile duplicare il codice come segue:

Code language: JavaScript (javascript)

Uscita:

L’oggetto jane ha le stesse proprietà e gli stessi metodi dell’oggetto john.

Più oggetti vuoi creare, più codice duplicato devi copiare.

Per evitare di copiare lo stesso codice ancora e ancora, è possibile sviluppare una funzione che crea l’oggetto person :

Code language: JavaScript (javascript)

Quando una funzione crea un oggetto, viene chiamata funzione factory. createPerson() è una funzione factory perché restituisce un nuovo oggetto person.

Il seguente codice utilizza la funzione factory createPerson() per creare due oggetti john e jane:

Code language: JavaScript (javascript)

Con la funzione factory, si crea un numero qualsiasi di oggetti person che si desidera senza duplicare il codice.

Quando si crea un oggetto, tale oggetto richiede uno spazio nella memoria. Se hai mille oggetti person, hai bisogno di mille spazi nella memoria per memorizzare questi oggetti. Questi oggetti person, tuttavia, hanno lo stesso metodo getFullName().

Per evitare di ripetere gli stessi getFullName() funzione di memoria, è possibile rimuovere il getFullName() metodo person oggetto:

Code language: JavaScript (javascript)

E spostare questo metodo di un altro oggetto:

Code language: JavaScript (javascript)

E prima di chiamare il getFullName() metodo person oggetto, è possibile assegnare il metodo del behavior oggetto person oggetto come segue:

Code language: JavaScript (javascript)

sarà più difficile se si hanno molti metodi e necessario assegnare manualmente.

Questo è il motivo per cui il metodo Object.create() entra in gioco.

L’Oggetto.metodo create ()

Il metodo Object.create() crea un nuovo oggetto utilizzando un oggetto esistente come prototipo del nuovo oggetto:

Code language: CSS (css)

Quindi puoi usare Object.create() come segue:

Code language: JavaScript (javascript)

Ora, è possibile creare oggetti person e chiamare i metodi dell’oggetto behavior :

Code language: JavaScript (javascript)

Il codice funziona perfettamente. Tuttavia, in pratica, raramente vedrai le funzioni di fabbrica. Invece, vedrai i costruttori di funzioni o le classi.

Riepilogo

  • Una funzione factory è una funzione che restituisce un nuovo oggetto.
  • Utilizzare Object.create() per creare un oggetto utilizzando un oggetto esistente come prototipo.
  • Questo tutorial è stato utile ?

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.