Estuve trabajando un poco con algunas cosas que estaban hechas con JavaScript, y tenia que introducir un pequeño cambio en algo que se suponía debería ser sencillo, afortunadamente no lo fue, y tuve que ponerme a refactorizar todo el código que estaba escrito en una forma totalmente procedural utilizando el nefasto estilo spaghetti.
Tarde o temprano iba a tener que meterle algo de mano a cosas hechas en JavaScript, y como esas que uno espera nunca tener que hacer, llego ese momento.
Recordé que una vez escuche que en JavaScript se podía llegar a trabajar en una forma bastante “objetosa” así que decidí ponerme a investigar un poco y encontré que efectivamente se puede y que además se pueden hacer cosas bastante interesantes que ni me imaginaba.
Por ejemplo, se pueden crear Clases y generar instancias de estas, se puede llegar a construir una herencia con un mecanismo que se llama prototipado:
Clases con JavaScript:
this.inicializar = function(e) {
window.alert("Esto es una prueba de prototipos con JS");
}
this.testTrue = function(e) {
return false;
}
}
function main() {
var aReporte = new Reporte();
aReporte.inicializar();
if(aReporte.testTrue()) {
window.alert("La validacion dio verdadera");
}
}
En el ejemplo se ve como se crea una Clase llamada Reporte, esta clase contiene una funcion llamara inicializar, que emite un mensaje y en la funcion main se ve como se usa la clase Reporte
function superClass() { this.supertest = superTest;
}
function subClass() {
this.inheritFrom = superClass;
this.inheritFrom();
this.subtest = subTest;
}
function superTest() {
return "superTest";
}
function subTest() {
return "subTest";
}
var newClass = new subClass();
alert(newClass.subtest());
alert(newClass.supertest());
Esto es un poco de lo que vi hoy, dejo algunos links que me sirvieron bastante.