Cómo usar las funciones de fábrica en JavaScript

Cómo usar las funciones de fábrica en Javascript<span class="wtr-time-wrap after-title"><span class="wtr-time-number">4</span> min read</span>

Las funciones de fábrica son funciones para crear objetos de forma estandarizada. Se utilizan en JavaScript para manipular objetos y datos.

En este artículo, veremos cómo usar las funciones de fábrica para crear programas inteligentes y funcionales.

¿QUÉ ES UNA FUNCIÓN DE FÁBRICA?

Una función de fábrica es simplemente una función que devuelve un objeto. Entonces podemos usar este objeto en nuestro código.

El punto es estandarizar y automatizar la creación de objetos. Tomemos un ejemplo, una aplicación que necesita administrar habitaciones de hotel.

Para almacenar estos datos, utilizaremos objetos. El método clásico sería hacer algo como esto:

1
2
3
4
5
6
7
8
9
10
11
const chambre1 = {
    nom : 'Suite royale',
    prix : 1000,
    taille : 100
};
const chambre2 = {
    nom : 'Chambre économique',
    prix : 70,
    taille : 20
}

El problema es que tenemos que crear nuestros objetos a mano. Es largo y totalmente manual. No puede crear dinámicamente una nueva habitación de hotel sin escribirla en código.

Aquí es donde entran las funciones de fábrica:

1
2
3
4
5
6
7
8
9
10
function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
    }
}
const chambre1 = creerHotel('Suite Royale', 1000,100);
const chambre2 = creerHotel('Chambre économique', 70,20);

Aquí, puedo crear tantas habitaciones de hotel como quiera con una sola línea de código, ¿no es eso mejor? Aquí estoy pasando argumentos a mi función y asignándolos como valor, lo que me permite crear objetos con los valores que quiera.

Veamos los objetos de nuestra habitación con un archivo console.log():

1
2
{ nom: 'Suite Royale', prix: 1000, taille: 100 }
{ nom: 'Chambre économique', prix: 70, taille: 20 }

Como puede ver, tenemos objetos. Nuestra función de fábrica funciona perfectamente.

Ver  24 mejores temas de WordPress para diferentes tipos de sitios web

INTEGRANDO MÉTODOS EN NUESTRAS FUNCIONES DE FÁBRICA

Por supuesto, podemos ir un poco más allá. Intentemos integrar métodos en estos objetos.

Un método es una función integrada en un objeto que permite modificar atributos internos y realizar acciones externas.

1
2
3
4
5
6
7
8
9
10
11
12
13
function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
        changerNom : function(nom){
            this.nom = nom
        },
        presenterHotel : function(){
            console.log(`Cette chambre se nomme ${this.nom} elle coûte ${this.prix} et elle fait ${this.taille}`)
        }
    }
}

Aquí usamos la palabra clave this para acceder a los atributos internos de nuestro objeto. Concretamente, this.name accederá al valor de la variable nombre.

Intentemos manipular un poco nuestros objetos. Crearé una habitación, modificaré su nombre y usaré el método presenterHotel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
        changerNom : function(nom){
            this.nom = nom
        },
        presenterHotel : function(){
            console.log(`Cette chambre se nomme ${this.nom} elle coûte ${this.prix} et elle fait ${this.taille}`)
        }
    }
}
const chambre1 = creerHotel('Suite Royale', 1000,100);
chambre1.changerNom('Une modification');
chambre1.presenterHotel();

Aquí todo funciona. Nuestro objeto ha sido modificado y vemos esta modificación en nuestro método presenterHotel():

1
Cette chambre se nomme Une modification elle coûte 1000 et elle fait 100

Ahora podemos modificar dinámicamente nuestros objetos. Puedes ir tan lejos como quieras.

Es posible pasar otro objeto en nuestros métodos. Incluso es posible modificar este objeto secundario. Los invito a probar para comprender mejor cómo funcionan las funciones de fábrica.

Ver  Más de 10 consejos para encontrar clientes como desarrollador web independiente

EN CONCLUSIÓN

Las funciones de fábrica son herramientas extremadamente importantes. Nos permiten crear objetos inteligentes con funciones y atributos dinámicos.

Si quieres progresar en JavaScript, te recomiendo que domines las funciones de fábrica. Están sumamente presentes en el paradigma de la programación funcional , un sistema muy utilizado por los desarrolladores de JavaScript.

Si te ha gustado este artículo, no dudes en descargar mi libro en PDF que te enseñará cómo empezar a programar bien.

Si le ha gustado este artículo, no olvide visitar nuestro blog. También puede visitar nuestra web y observar cómo trabajamos.

PÍDENOS PRESUPUESTO AHORA

Explícanos tu proyecto y te ayudaremos a ponerlo en marcha.

Somos la Agencia líder en diseño de páginas web, diseño de tiendas online, posicionamiento SEO, campañas SEM y redes sociales.

© 2022 · Diseño Web Barcelona · Todos los derechos reservados