Hola gente de EDteam soy su amigo y docente digital Jonathan MirCha, a partir de éste artículo comenzaré una serie de publicaciones referentes al estándar actual del lenguaje de la web: JavaScript.
Hoy comenzaré por explicarles ¿qué es ECMAScript?
ECMAScript es el nombre del estándar internacional que define a JavaScript, es definido por un comité técnico ( el TC-39) de ecma international, identificado como Ecma-262 e ISO/IEC 16262, no forma parte de la W3C y a partir del año 2015 se acordó liberar una versión cada año, lo que marca un antes y un después en el desarrollo del lenguaje.
Ediciones anteriores al 2015
EdiciónPublicaciónCambios11997Primera edición21998Cambios editorales para mentener la especificación completa alineada con el estándar internacional ISO/IEC 1626231999Se agregaron expresiones regulares, mejor manejo de strings, nuevo control de declaraciones, manejo de excepciones con try/catch, definición más estricta de errores, formato para la salida numérica y otras mejoras4AbandonadoLa cuarta edición fue abandonada debido a diferencias políticas respecto a la complejidad del lenguaje. Muchas características propuestas para la cuarta edición fueron completamente abandonadas; algunas fueron propuestas para la edición ECMAScript Harmony52009Agrega el modo estricto strict mode
, un subconjunto destinado a proporcionar una mejor comprobación de errores y evitar constructores propensos a errores. Aclara varias ambigüedades de la tercera edición, y afina el comportamiento de las implementaciones del "mundo real" que difieren consistentemente desde esa especificación. Agrega algunas nuevas características, como getters y setters, librería para el soporte de JSON, y una más completa reflexión sobre las propiedades de los objetos5.12011Está completamente alineada con la tercera edición del estándar internacional ISO/IEC 16262:2011
Ediciones posteriores al 2015
Como te puedes dar cuenta el estándar de JavaScript avanzaba muy lento, tanto que entre la versión 3 y 5 pasó una década, sin embargo con avances como el surgimiento de HTML5 en 2008 y Node.js en 2009 el ecosistema de JavaScript creció en popularidad y capacidades y a partir del año 2015 las cosas cambiaron pues ECMA International ha decidido lanzar una versión nueva cada año por lo que tenemos:
- ECMASript 2015 aka ES6
- ECMASript 2016 aka ES7
- ECMASript 2017 aka ES8
- ECMASript 2018 aka ES9
- ... y así sucesivamente ...
Entre los cambios significativos tenemos cambios en la sintaxis para escribir aplicaciones complejas, incluyendo clases y módulos, definiéndolos sémanticamente en los mismos términos del modo estricto de la edición ECMAScript 5.
Otras nuevas características incluyen iteradores for/of loops, generadores y generador de expresiones estilo Python, funciones de dirección, datos binarios, colecciones (mapas, sets, mapas débiles), y proxies (metaprogramación para objetos virtuales y wrappers), aislamiento de códigos.
Más características propuestas como promesas/concurrencia, matemáticas y datos numéricos mejorados, guards y trademarks (una alternativa al tipado estático), sobrecarga de operadores, value types (first-class number-like objects), nuevas estructuras de registro (registros, tuplas y vectores tipados), pattern matching, y traits.
Todas estas mejoras han logrado posicionar a JavaScript en el top ten de los lenguajes de programación, sólo por debajo de las vacas sagradas (Java, C y todas sus variantes) y de Python que al igual que JavaScript ha tenido un gran desarrollo en los últimos años. Universidades como el MIT lo han hecho su lenguaje de cabecera para iniciarse en el maravilloso mundo de la programación.
Recuerda que en EDteam tenemos varios cursos que te introducen y especializan en este maravilloso lenguaje:
- JavaScript desde cero
- Node.js desde cero
- JavaScript Avanzado: Paradigmas de Programación
- HTML5 Avanzado: Progressive Web Apps
- React desde cero
- Angular desde cero
- Vue.js desde cero
En el siguiente capítulo te hablare de Babel.
Se despide su amigo y docente digital Jonathan MirCha, sean felices, hasta siempre, nos leemos la próxima semana...
...bye ;)