Curso de JavaScript desde cero

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.

Twitter

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.