Dicen que existe un plan para que javascript domine el mundo en los próximos años, y a decir verdad, y viendo las propuestas que se plasman en el draf del ECMA-262 sexta edición, creo que el plan aunque algo silencioso sigue a marcha firme.
Quiero mostrar aquellas propuestas que a mi me resultan más interesantes:
Strings
Lo bueno: se agregan métodos startsWith(), endsWith(), contains(), repeat(), toArray()
Lo malo: la interpolación de strings no forma parte del draft actual, esta feature permitiría crear string de manera más natural, como por ejemplo:
en lugar de usar las formas actuales:
Destructuring
Esta es una de mis preferidas y permitiría entre otras cosas que una función retorne más de un resultado:
Iterar las propiedades de los objetos de manera más natural:
y quien sabe cuantas cosas más!
Iterators
for-of para iterar sobre los valores de las propiedades en lugar de hacerlo sobre las propiedades es sí mismas.
Generators
Esto nos tienen que resultar familiar a todos, solo hace falta ver el yield para darse cuenta de cómo funciona. Exactamente como se hace en .Net. Ahora podríamos por agregarle al prototype una función where, por ejemplo, para evaluar un predicado contra cada uno de los elementos del iterador y listo, tendremos linq en ECMAScript. (pero mejor ver Array comprehension)
Lo mismo pero quizás más claro y conveniete puede realizarse con un Generator comprehension:
Lambdas
Aunque actualmente no forma parte del draft de la versión 6, la discusión está vida. No hay que explicar nada.
Array comprehension
¿Quien no entiende esto? es un generator que retorna los cuadrados de los números pares de numbers.
Let
Si bien la idea detrás de la sintaxis de javascript era parecerse a java, pocos lenguajes se parecen tan poco. El scope de las variables en javascript es la función y no el code block como en java. Let es justamente para limitar el scope al code block.
Estas son solo unas pocas de las propuestas que se discuten actualmente y que me han gustado más. Otras más importantes quizás sean las de modularidad del lenguaje, pragmas y API, pero a mi me gustan las que tratan sobre la expresividad del lenguaje y la verdad es que con estas y otras propuestas tomadas de ruby y python, ECMAScript va a dar un lindo paso en su plan de conquista del mundo.
Buenas figura!
¿Sabes que el otro día, en unas ruínas Mayas localizadas en Belice encontraron una piedra tallada con sentencias javascript? Son los Mayas los que empezaron con un plan secreto para que Javascript dominase el mundo. Después los siguieron los Illuminati y el Priorato de Sión, pero bueno, eso son otras historias.
Gran post! De lo que mencionas me encanta Destructuring (es uno de mis sueños húmedos para C#, ahora que nos estamos «funcionalizando») y Array Comprehension. Brutales.
De hecho, en el fondo no nos engañemos, no es Javascript quien dominará el mundo… es la programación funcional! ^_^