Desde 2015, JavaScript incorporó una forma más clara y familiar de construir objetos: las clases. Aunque por debajo funcionan igual que las funciones constructoras tradicionales, su sintaxis se inspira en lenguajes como Java, lo que facilita la lectura y organización del código orientado a objetos. Entender cómo funcionan es fundamental para cualquier persona que quiera trabajar con programación moderna en JavaScript.
¿Qué es una clase y por qué se considera un sugar syntax?
Una clase en JavaScript es un molde o blueprint a partir del cual se construyen diferentes objetos [0:27]. No introduce un mecanismo completamente nuevo; en realidad es una capa de sintaxis más limpia sobre el patrón de función constructora que ya existía. A esto se le conoce como sugar syntax: la misma funcionalidad con una escritura más legible.
Para declarar una clase se utiliza la palabra reservada class, seguida del nombre con la primera letra en mayúscula, por convención [1:12].
javascript
class Persona {
// contenido de la clase
}
¿Cómo funciona el método constructor dentro de una clase?
El constructor es un método especial que define cómo se configuran las propiedades de cada objeto creado a partir de la clase [1:25]. Recibe argumentos que permiten personalizar cada instancia.
javascript
class Persona {
constructor(nombre, edad) {
this.nombre = nombre;
this.edad = edad;
}
}
La palabra reservada this hace referencia a la propia instancia de la clase [1:52]. Cuando escribimos this.nombre = nombre, estamos asignando el valor del parámetro recibido a la propiedad nombre del objeto que se está creando.
¿Qué son los métodos dentro de una clase?
Además de propiedades, una clase puede contener métodos: funciones que describen comportamientos del objeto [2:27]. Se definen directamente dentro del cuerpo de la clase, sin necesidad de la palabra function.
javascript
class Persona {
constructor(nombre, edad) {
this.nombre = nombre;
this.edad = edad;
}
saludar() {
console.log(Hola, mi nombre es ${this.nombre} y tengo ${this.edad} años);
}
}
El método saludar accede a las propiedades de la instancia mediante this.nombre y this.edad, e imprime un mensaje personalizado en consola [2:40].
¿Cómo se crea una nueva instancia con new?
Una clase por sí sola es solo un molde; no contiene valores concretos [3:05]. Para generar un objeto real se utiliza la palabra reservada new, que conecta con el constructor y rellena las propiedades con los valores proporcionados [3:22].
javascript
const persona1 = new Persona('Mariana', 25);
persona1.saludar();
// Hola, mi nombre es Mariana y tengo 25 años
new Persona('Mariana', 25) crea una nueva instancia de la clase Persona.
- Los valores
'Mariana' y 25 se asignan a this.nombre y this.edad respectivamente.
- Al llamar
persona1.saludar(), el método imprime el mensaje con los datos de esa instancia específica [4:05].
Este proceso se puede repetir tantas veces como se necesite para crear múltiples personas, cada una con sus propios valores, pero compartiendo la misma estructura y los mismos métodos definidos en la clase.
¿Por qué es importante dominar esta sintaxis?
A partir de esta versión del lenguaje, prácticamente todo el desarrollo orientado a objetos en JavaScript se construye con clases [4:22]. Los elementos clave que debes recordar son:
- La palabra reservada
class para declarar el molde.
- El método
constructor para inicializar propiedades.
- La referencia
this para acceder a las propiedades y métodos de la instancia.
- La palabra
new para crear instancias concretas.
- Los métodos definidos dentro del cuerpo de la clase para agregar comportamiento.
Si ya trabajaste con funciones constructoras, notarás que la lógica es idéntica; lo que cambia es la forma de escribirlo, volviéndolo más organizado y cercano a otros lenguajes. ¿Ya probaste crear tus propias clases? Comparte en los comentarios qué estructura te resulta más cómoda.