Definitivamente, uno de mis lenguajes favoritos es Javascript, tanto que en su momento lo odiaba por que inicialmente consideraba que aunque Javascript era muy accesible, cuando llegaba a ser demasiado, era un infierno mantener tu código, sin embargo, dicen que del odio al amor hay solo un paso, y precisamente, hoy, soy gran fan de Javascript y toda su magnifica capacidad. Pero!, como bien dicen, más tardas en aprender una cosa, en lo que ya salio algo nuevo, lo mismo sucedió en mi caso, tal es el caso de ECMAScript 6, que aunque no es totalmente nuevo, pasará a ser un estandar a finales de Junio de este año, y yo dije, Oh my good!!!, hay que ver que trae de nuevo, y bien, despues de revisar algunas cosas de lo nuevo de ECMAScript 6, tengo intenciones de resumirselos en terminos generales.

Valores por defecto

Una de las primeras cosas que trae consigo ECMAScript 6, es la asignación de valores por defecto a los parámetros de las funciones, normalmente en Javascript, haciamos algo como lo siguiente: Ahora, con las nuevas características, podrémos hacer algo como lo siguiente: Eso es de gran utilidad para algunas personas, y ahora, en con Javascript también será posible.

Función Arrow

Algo muy común en Javascript, es tener funciones con una estructura simliar a la siguiente: Esto, puede llegar a ser algo alborotoso, y los developers de Javascript han pensado en esto, es por eso, que de ahora en adelante, tendremos una nueva funciòn llamada arrow, que nos permitirá resumir lo anterior en algo como: O incluso podemos pasar algo como esto: A esto:

La función this

Definitivamente, algo gracioso de muchos que se inician en Javascript es que su mayor infierno, es como la función this, cambia de valor entre un scope y otro, y a veces puede llegar a ser tedioso estar inspeccionando en cada momento para saber que valor tiene this en los diferentes scopes, sin embargo, teniamos una solución para esto: Pero ahora, con ECMAScript 6, tendrémos disponible una función llamada bind, que nos permitirá “casar” el scope de una función con el que estamos trabajando actualmente, por ejemplo: Así mismo, podemos resumir al código anterior, utilizando la función arrow de la siguiente manera:

Clases y Heréncia

En lo personal, me gusta como funciona javascript actualmente, pero estoy seguro de que a muchos de los que les costaba entender el lenguaje tal y como era esto les agradará, con lo nuevo de ECMAScript, tendrémos la posibilidad de utilizar clases, y así mismo, tener las ventajas que esto proporciona, como por ejemplo, la heréncia. Algo en lo que estoy muy a favor, es en lo de la herencia, aunque considero que al manejo de funciones como objetos era excelente, pero bueno, habrá que acostumbrarnos y así mismo habrá a quien le guste. Así mismo, algo muy importante, es que podremos definir métodos set y get con algunas cosas interesantes:

Declaraciones con Let

Esta mejora viene a ser algo muy interesante, ahora podremos declarar variables con la palabra let, la cual limitará el alcance del scope de la variable que estemos declarando, y bien, esto funcionará de la siguiente manera, actualmente nosotros podemos tener un código como el siguiente: Ahora, si declaramos la variable n con let, sucederá lo siguiente: Así mismo, ahora contaremos con constantes, con una utilización muy similar:

Templates en Strings

Algo que en definitiva, le hacía falta a Javascript, y lo admito, eso de andar haciendo templates de la siguiente manera es un infierno: Ahora, con la nueva versión de EMACScript no solo podremos tener strings con multiples lineas, sino que también podremos hacer lo siguiente: Definitivamente, es algo que le hacía falta a Javascript, y aunque se tardaron, lo tendremos.

Asignación Multiple

Ok, esto es algo nuevo en Javascript, pero genial, y la explicación no puede ser más simple: Ahora podemos asignar a multiples variables simultaneas multiples valores, eso definitivamente, es algo nuevo, y quizá, algo que en su momento pueda llegar a ser muy útil.

Crear un objeto a partir de otros

Algo muy interesante que leí sobre las nuevas funciones que tendrá EMACScript, es la capacidad de crear un objeto a partir de otros objetos, por ejemplo: Y listo, tenemos un objeto nuevo creado con otros objetos.. 🙂 genial ¿no?.

Definición abreviada de objetos

Cuantas veces no hemos tenido una situación como la siguiente: De verdad es muy molesto, es por eso que los developers de Javascript pensaron que sería mejor verse así:

Un nuevo Ciclo For!

Actualmente, hay algo muy incomodo a la hora de recorrer listas en Javascript, es el tipico for…in, de verdad en lo particular lo odio, pero no hay de otra, sin embargo, en la nueva versión de EMACScript, podremos hacer algo como: De esta manera, item, tomará el valor de cada elemento del array, y no de un indice.

Módulos

Al fin!, tenemos módulos en Javascript, una de las cosas que más se esperaban, y no existe una sola forma de hacerlos.

Exportación única

Exportación múltiple

Exportación combinada

Importación Síncrona

Importación Asíncrona

Y en fin, ¿que más quieren?, con esto tenemos solo la introducción a todo lo demás que viene con el resto de EMACScript, así, que con esto tenemos definitivamente mucho que aprender, y ¿a partir de cuando?, pues según informes, ECMAScript pasarña a ser un estandar a finales de Junio, aunque navegadores como Chrome ya estan implementando algunas funcionalidades, bueno, sin más, a darle muchachos, y bienvenidos sean las nuevas funcionalidades de JavaScript.
Etiquetas:javascript
3

Quizá también te interese

Utilizando ES6 en tus aplicaciones Node
Creando dialogos personalizados en Java con JDIalog
Creando dialogos personalizados en Java con JDIalog
Estamos de vuelta, y más fuertes que nunca.
Bower, un administrador de paquetes para la web

Ivan Alvarado Diaz

Ingeniero en sistemas computacionales, apasionado por la tecnologia, programador, siempre con ganas de aprender mas y comprometido con mi trabajo.

  • Alexandro Ramirez

    hola bro

  • Casimiro

    Qué es EMACScript ?

  • Casimiro

    Decir “INGENIERO DE SISTEMAS, PROGRAMADOR”, es como decir “MEDICO, ENFERMERO” ?