Skip to main content Link Menu Expand (external link) Document Search Copy Copied

EcmaScript y TC39

Contenidos

Javascript releases

JavaScript es un lenguaje muy diferente al que solía ser hace unos años. ECMAScript, la especificación oficial que JavaScript adopta, ha mejorado mucho en los últimos años después de un período bastante largo sin ninguna actualización del lenguaje.

TC39

Hoy en día, el Comité Técnico de ECMAScript, conocido como TC39, hace lanzamientos anuales de ECMAScript, y los motores JavaScript como V8 le siguen en breve implementando las nuevas características introducidas en las versiones de ECMAScript. Esto ha comenzado con ECMAScript 2015 o su otro nombre comúnmente conocido, ES6. Desde entonces, hemos tenido lanzamientos anuales denominados ES más el año actual. Algunos de estos lanzamientos fueron grandes y otros muy pequeños. Pero el lenguaje ahora tiene un ciclo de actualización continuo que impulsa características más innovadoras y elimina los famosos problemas que JavaScript tuvo a lo largo de los años. Cualquiera puede proponer características que crea que deberían pertenecer al lenguaje JavaScript. El comité TC39 tiene un proceso de cinco etapas para filtrar y finalizar las características que se consideran para el idioma. Una característica comienza en la etapa 0, que es cuando alguien propone algo al comité, y si la característica propuesta tiene una aplicación clara de su necesidad, y tiene respaldo durante el proceso, se etiqueta como etapa 1. Una vez que la característica propuesta tiene un documento de especificaciones inicial, se etiqueta como etapa 2 o borrador. En este punto, existe una gran posibilidad de que la funcionalidad forme parte del lenguaje. Cuando finaliza la especificación de la funcionalidad y los revisores designados la aprueban, la propuesta se etiqueta como etapa 3, un candidato. En esta etapa, la función se pone en cola para más pruebas, y el comité aceptará el texto de la especificación en su repositorio de especificaciones principal, que lleva la funcionalidad a la etapa 4, finalizada, y esa función se incluirá en la próxima versión anual de ECMAScript. Node.js tiene acceso a las funciones que están terminadas y que ya forman parte del lenguaje. Sin embargo, V8 a menudo tiene harmony flags para que experimentar con características candidatas e incluso en borrador. También podemos utilizar el compilador de Babel para escribir muchas de las funciones en curso en JavaScript y hacer que Babel las compile en el antiguo JavaScript compatible antes de llevar su código a producción. Babel es popular en el frontend porque muchos navegadores suelen ser lentos para agregar soporte a todas las funciones nuevas en el idioma, incluidas las finalizadas. Y Babel ofrece una alternativa para que los desarrolladores utilicen lo último y lo mejor sin arriesgar que su código no sea compatible con navegadores más antiguos. En este módulo, usaremos características que están disponibles de forma nativa en Node.js, incluidas muchas de las características modernas que comenzaron a estar disponibles desde 2015.