Insertar clases e instancias en JavaScript es una manera de reemplazar funciones por una estructura más sólida y duradera. Este concepto se usa particularmente en proyectos que van creciendo, pues permite comunicar mejor los módulos al evitar funciones sueltas y únicas. En este post, te enseñaremos qué son las clases e instancias en JavaScript para que las apliques en proyectos más grandes.
¿Qué son las clases e instancias en JavaScript?
En nuestro post sobre clases en JavaScript te hemos explicado que este concepto, introducido en el estándar ECMAScript 2015, funciona un poco como un molde que nos permite crear código para ser replicado. A esta copa o réplica la llamamos instancia.
Para conocer más sobre este concepto de manera individual, te recomendamos leer el artículo sobre clases en la página oficial de la Mozilla Developer Network, donde aprenderás todo lo necesario sobre este concepto. A continuación, te explicaremos específicamente cómo se relacionan las clases e instancias en JavaScript.
Las clases e instancias en JavaScript tienen una relación de original y copia única. Es decir, mientras la clase es como una representación de un conjunto, la instancia de una clase es lo que realmente tiene el código propio. En este sentido, podemos tener varias instancias de una sola clase, como podemos tener copias únicas de una sola versión original.
Te ponemos un ejemplo; supongamos que tenemos la siguiente clase TweetListController. Si no entiendes la lógica de las siguientes líneas de código, te recomendamos leer nuestro post sobre cómo crear clases en JavaScript.
class TweetListController {
constructor (text) {
console.log (“constructor de TweetListController:”, text);
}
}
Ahora, como te explicamos antes, una clase puede tener varias instancias. Entonces, podríamos tener las siguientes líneas de código:
const controller1 = new TweetListController (1);
const controller2 = new TweetListController (2);
const controller3 = new TweetListController (3);
const controller4 = new TweetListController (4);
Como puedes ver, el código de una clase (como lo sería nuestro console.log de ejemplo) puede ser usado por diferentes instancias para obtener resultados distintos gracias al valor insertado como parámetro.
Ten presente que cualquier instancia de estas no tienen nada que ver con la otra. Entonces, controller1 y controller2 no tienen relación. Es decir, a pesar de ser dos instancias de la misma clase y compartir su código, no hay dependencia o jerarquía entre ellas.
¿Por qué utilizar clases e instancias en JavaScript?
Las clases e instancias en JavaScript nos permiten trabajar con proyectos en una programación orientada a objetos. Aunque mucho de lo que se logra con este concepto se puede hacer con funciones, utilizar clases e instancias es una manera de hacer crecer nuestros proyectos de manera más ordenada.
Es posible que te preguntes cómo sabemos cuándo necesitamos usar una clase. Al final, la orientación a objetos es tan solo un paradigma de programación. Esto significa que, como desarrolladores web, podemos decidir si crear una programación más orientada a funciones sueltas, que se da muy bien por la lógica y naturaleza propia de JavaScript, o una programación más orientada a clases.
Desde KeepCoding te recomendamos utilizar clases e instancias en JavaScript cuando tu proyecto vaya a crecer. ¿Por qué? Pues porque la orientación objetos te va a dar mucha más solidez en tu desarrollo. Un proyecto creado a partir de funciones y funciones, aunque útil, tiene su límite. Es decir, llegará un momento en el que el código no aguanta: empiezan a salir fallos por todos lados, tenemos controladores dentro de controladores, acoplamientos no necesarios, etc.
Por lo anterior, te recomendamos utilizar funciones para proyectos pequeños en los que requieras velocidad más que solidez. Sin embargo, cuando quieras tener una arquitectura sólida que desees mantener en el tiempo, es más recomendable utilizar clases e instancias.
¿Quieres seguir aprendiendo?
Ahora que sabes qué son y cómo funcionan las clases e instancias en JavaScript, seguro que quieres seguir aprendiendo sobre este poderoso lenguaje de programación. Por ello, te invitamos a ser parte de nuestro Desarrollo Web Full Stack Bootcamp, un espacio de formación intensiva donde aprenderás a dominar diversas herramientas y lenguajes como JavaScript, HTML, CSS y JSX para desarrollar tus propios proyectos web. ¡Solicita información ahora y empieza a cambiar tu vida!