Novedades en Javascript 1.8
Mientras se sigue con el desarrollo de la versión 3 de Firefox, podemos ir viendo que novedades traerá la versión 1.8 de Javascript. Las novedades son muy interesantes, pero creo que necesitarán de un cambio de modo de pensar en Javascript, ya que es algo a lo que no estamos acostumbrados.
Notación Lambda
La notación Lambda nos permite declarar funciones que devuelvan datos sin necesidad de llaves ({..}), ni de devolver directamente el resultado con return.
Por ejemplo, la siguiente función:
function(x) { return x * x; }
pasarÃa a ser:
function(x) x * x
Generador de expresiones
Existente ya en Phyton, nos permite generar expresiones como arrays o matrices de forma rápida y elegante. Para una explicación con un poco de profundidad, el autor del artÃculo usa un solucionador de Sudokus para explicarnos paso a paso cómo funcionan. Quizás un ejemplo más sencillo sea el siguiente:
// Crea un array de 100 posiciones rellenas con cero
[ 0 for ( i in 100 ) ]
// Crea una matriz identidad de 10x10
[[ i == j ? 1 : 0 for ( i in 10 ) ] for ( j in 10 )]
También se pueden utilizar para comprimir arrays, por ejemplo quedarnos solo con los valores pares:
[i for (i in lista) if (i % 2 == 0)]
Reducción de arrays
Permite reducir iterativamente un array a un solo valor usando una función llamada de retorno.
La nomenclatura serÃa de la siguiente forma:
miArray.reduce( fn [, val_inicial] );
// La función serÃa de la siguiente manera
miArray.reduce(function(ultimo_valor, valor_actual){
return ultimo_valor + valor_actual;
});
Si combinamos los dos puntos anteriores, podemos obtener la suma de los cien primeros números de la siguiente manera:
[x for ( x in 100 )].reduce(function(a,b) a+b);
VÃa / dzone
Ahora que están tan de moda las esquinas redondeadas, vemos una librerÃa javascript que nos ofrece esta posibilidad sin tener que usar imágenes.
Interesante extensión para Firefox que nos permite guardar páginas web y manejar colecciones. Siendo ante todo bastante ágil y sencillo. Entre las caracterÃsticas que ofrece, nos encontramos con: guardar una página web, una parte de ella o el sitio completo, ordenar la colección de la misma manera que los marcadores, búsqueda de texto en las colecciones, editar la página web que hemos almacenado y editor de texto/HTML parecido a Opera’s Notes.