Funciones de fábrica de JavaScript

Resumen: en este tutorial, aprenderá sobre las funciones de fábrica de JavaScript, que son funciones que devuelven objetos.

Introducción a las funciones de fábrica en JavaScript

Una función de fábrica es una función que devuelve un objeto nuevo. Lo siguiente crea un objeto person llamado john:

Code language: JavaScript (javascript)

Producto:

El objeto john tiene dos propiedades: firstName y lastName, y un método getFullName() que devuelve el nombre completo.

Supongamos que necesita crear otro objeto similar llamado jane, puede duplicar el código de la siguiente manera:

Code language: JavaScript (javascript)

Producto:

El objeto jane tiene las mismas propiedades y método que el objeto john.

Cuantos más objetos desee crear, más código duplicado necesitará copiar.

Para evitar copiar el mismo código una y otra vez, puede desarrollar una función que cree el objeto person :

Code language: JavaScript (javascript)

Cuando una función crea un objeto, se llama función de fábrica. createPerson() es una función de fábrica porque devuelve un nuevo objeto person.

El siguiente código utiliza la función de fábrica createPerson() para crear dos objetos john y jane:

Code language: JavaScript (javascript)

Con la función de fábrica, puede crear cualquier número de objetos person que desee sin duplicar el código.

Al crear un objeto, ese objeto requiere un espacio en la memoria. Si tiene mil objetos person, necesita mil espacios en la memoria para almacenar estos objetos. Estos objetos person, sin embargo, tienen el mismo método getFullName().

Para evitar repetir la misma función getFullName() en la memoria, puede eliminar el método getFullName() del objeto person :

Code language: JavaScript (javascript)

Y mueva este método a otro objeto:

Code language: JavaScript (javascript)

Y antes de llamar al método getFullName() en el objeto person, puede asignar el método del objeto behavior al objeto person de la siguiente manera:

Code language: JavaScript (javascript)

Será más difícil si tienes muchos métodos y tienes que asignarlos manualmente.

Esta es la razón por la que el método Object.create() entra en juego.

El Objeto.método create ()

El método Object.create() crea un nuevo objeto utilizando un objeto existente como prototipo del nuevo objeto:

Code language: CSS (css)

Por lo tanto, puede usar Object.create() de la siguiente manera:

Code language: JavaScript (javascript)

Ahora, puede crear objetos person y llamar a los métodos del objeto behavior :

Code language: JavaScript (javascript)

El código funciona perfectamente bien. Sin embargo, en la práctica, rara vez verá las funciones de fábrica. En su lugar, verá los constructores de funciones o las clases.

Resumen

  • Una función de fábrica es una función que devuelve un objeto nuevo.
  • Use Object.create() para crear un objeto utilizando un objeto existente como prototipo.
  • ¿Fue útil este tutorial ?
  • YesNo

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.