Novedades ES6

Definición de varias clases. en JavaScript.

JavaScript es un lenguaje basado en prototipos que no contiene ninguna declaración de clase,en su lugar, JavaScript utiliza funciones como clases, definir una clase es tan fácil como definir una función.

En JavaScript podemos definir varias clases en un mismo programa.
Vamos a desarrollar un programa que contenga dos clases. Plantearemos una clase Numeroquiniela que representa una persona que elige un número de quiniela y además registra su nombre, la clase tiene por objetivo la carga por el teclado del número deseado.

Por otra parte crearemos una clase Bolillero que sortee un valor aleatorio entre 1 y 10 (que representa el valor extraído del bolillero)

La codificación de las dos clases es:

<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>

<script>

//clase Numeroquiniela *********************************
function Numeroquiniela(nombre)
{
this.nombre=nombre;
this.cargarnumero=cargarnumero;
this.verificarsigano=verificarsigano;
}

function cargarnumero()
{
this.numero=prompt("Que número de quiniela quiere?","");
}

function verificarsigano(num)
{
if (this.numero==num)
return true;
else
return false;
}

//clase Bolillero **************************************
function Bolillero()
{
this.numero=-1;
this.sortear=sortear;
}

function sortear()
{
this.numero=parseInt(Math.random()*10)+1;
}

// bloque principal
var numeroquiniela1;
numeroquiniela1=new Numeroquiniela("juan");
numeroquiniela1.cargarnumero();
var numeroquiniela2;
numeroquiniela2=new Numeroquiniela("ana");
numeroquiniela2.cargarnumero();
var bolillero;
bolillero=new Bolillero();
bolillero.sortear();
document.write('Numero sorteado:' + bolillero.numero + '<br>');
document.write(numeroquiniela1.nombre + ' eligió ' + numeroquiniela1.numero +'<br>');
document.write(numeroquiniela2.nombre + ' eligió ' + numeroquiniela2.numero +'<br>');
if (numeroquiniela1.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela1.nombre + ' ha ganado <br>');
}
if (numeroquiniela2.verificarsigano(bolillero.numero))
{
document.write(numeroquiniela2.nombre + ' ha ganado <br>');
}
</script>

</body>
</html>

Al constructor de la clase Numeroquiniela llega como parámetro el nombre de la persona que la compra (podíamos cargarlo por teclado al nombre también)

Al número que selecciona lo cargamos por teclado. La clase Numeroquiniela además tiene otra responsabilidad, que es avisarnos si ganó según el número sorteado.

Por otro lado en la página html definimos dos objetos de la clase Numeroquiniela y uno de la clase Bolillero.