Las clases de JavaScript
Capítulo 41: ¿Qué son las clases?
Último capítulo de momento sobre la programación orientada a objetos, en el que vas a ver lo que son las clases de JavaScript y si realmente son clases estrictamente hablando.
¿Qué son las clases en JavaScript?
A partir de la versión ECMAScript 2015 se introdujeron en JavaScript las clases. Hasta ese momento, se utilizaban las funciones constructoras para crear el equivalente a las clases de otros lenguajes de programación. Por supuesto, te he enseñado a utilizar funciones constructoras porque se siguen utilizando.
En JavaScript se han añadido las clases con el fin de crear una capa de abstracción sobre las funciones constructoras, ya que lo que en realidad hacen, es generar de fondo una función constructora.
La sintaxis de clases en JavaScript
Aquí tienes pseudocódigo para ver la sintaxis de clases en JavaScript:
class NombreClase {
constructor(argumento1, argumento2, ...) {
// Propiedades de clase
propiedad1 = valor;
propiedad2 = valor;
...
// Métodos de clases
método1() {
código del método;
};
método2() {
código del método;
};
}
}
Palabra del lenguaje nº 52 encontrada.
class es una palabra reservada de JavaScript para crear clases.
Palabra del lenguaje nº 53 encontrada.
constructor() es un método especial para crear e inicializar un objeto creado a partir de una clase.
Diferencia entre funciones constructoras y clases
Hagamos una comparación entre una función constructora y una clase.
Ejemplo de función constructora
function Vehiculo(marca, modelo, fecha_matriculación, color) {
this.marca = marca;
this.modelo = modelo;
this.fecha_matriculación = fecha_matriculacion;
this.color = color;
this.acelera = function () {
console.log('El vehículo ' + this.marca + ' ' + this.modelo + ' acelera.');
}
}
let vehiculo1 = new Vehiculo('Daewoo', 'Lanos', '25/01/2000', 'verde');
Ejemplo de clase
class Vehiculo {
constructor(marca, modelo, fecha_matriculacion, color) {
this.marca = marca;
this.modelo = modelo;
this.fecha_matriculación = fecha_matriculacion;
this.color = color;
this.acelera = function () {
console.log('El vehículo ' + this.marca + ' ' + this.modelo + ' acelera.');
}
}
}
let vehiculo1 = new Vehiculo('Daewoo', 'Lanos', '25/01/2000', 'verde');
Como puedes ver, la clase realmente está utilizando una función constructora. Esto es solo una forma de facilitar el entendimiento de las funciones constructoras en JavaScript para nuevos programadores/as.
Comentarios
Si te quedan dudas sobre el temario, sobre JavaScript o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.