lunes, 18 de febrero de 2019

JS switch

Bueno vamos a hablar de las cosas locas que nos permite JS, sobre todo algo que me parece muy emocionante. La capacidad de tener funciones como variables. Imagino que ya en todos lados han vistos esta notación:

let fun = (x) => {console.log("printeo x: " + x);}

Ahora bien, si lo extrapolamos un poquito si las funciones son tan vulgares como cualquier variable del montón entonces también pueden asignarse a cualquier objeto no? Siendo así a un objeto arbitrario con nombre "a" se le puede asignar en su campo "foo" la función definida anteriormente. Pero más allá incluso de eso podriamos crear un objeto de cero donde cada uno de sus campos sea una función definida externamete. 

Ahora algo aún más curioso es que podemos ejecutar las funciones de la siguiente manera: 

a["foo"]();

Curioso no? 

Que nos dice esta simplisima deducción ? Pues que cada objeto JS es un switch implicito!   

No hay comentarios:

Publicar un comentario