ECMAScript es el estándar en el que se basa JavaScript, aunque suele hacerse referencia a él como ES+N
, representando la N
el número de versión del mismo, ya que estamos hablando de un estándar que se mejora continuamente, con nuevas versiones que actualmente se suceden anualmente. De hecho, seguramente te suene el estándar ES6, uno de los más extendidos actualmente.
En eta guía vamos a explicar todo lo que necesitas saber acerca del estándar ECMAScript, de forma que la próxima vez que leas los términos ES3, ES5, ES6, ES7, ES8, ES2015, ES2016, ES2017, ECMAScript2015, ECMAScript2016, ECMAScript2017, ECMAScript2018, ECMAScript2019, ECMAScript2020 o ECMAScript2021 sepas qué significan.
Contenidos
Qué es el estándar ECMAScript
ECMAScript es el estándar en el que se basa JavaScript, al que nos solemos referir abreviadamente como ES. JavaScript no es el único lenguaje que implementa este estándar, ya que también es implementado por estos otros lenguajes:
- ActionScript: Se trata del lenguaje de scripting de Flash, que sigue más o menos vivo a pesar de haber perdido casi toda su popularidad desde la defunción de Flash.
- JScript: JScript es un lenguaje de scripting de Microsoft para Internet Explorer que nació para competir con JavaScript, ya que JavaScript en sus inicios estaba únicametne destinado a navegadores Netscape.
Sin embargo, no existe ninguna duda de que JavaScript es el lenguaje más popular a día de hoy de entre los que implementan el estándar ECMAScript.
El nombre de ECMAScript deriva de la organización Ecma International, que es una empresa suiza encargada de definir estándares a nivel internacional. JavaScript fue inicialmente presentado a Ecma International por las empresas Netscape y Sun Microsystems, que seguramente te suenen por haber creado el navegador Netscape y el lenguaje Java respectivamente. Tras la presentación, el estándar de JavaScript recibió el nombre de ECMA-262, también conocido como ECMAScript.
Finalmente, la implementación JScript de Microsoft cayó en desuso, por lo que tras Internet Explorer 9 ya no quedaron referencias al mismo en los navegadores de Microsoft, pasando a recibir el nombre de JavaScript. Entre esto y la extinción de Flash, podríamos decir que JavaScript es actualmente el único lenguaje actual y con futuro que implementa el estándar ECMAScript.
Qué es el comité TC39
El comité TC39 es el que se encarga de desarrollar los nuevos estándares de ECMAScript. Está compuesto por miembros de varias empresas involucradas en el ecosistema de software libre de JavaScript. Algunos de sus miembros son Google, Facebook, Mozilla y Microsoft, entre otros muchos.
Cada una de las versiones del estándar debe seguir el proceso descrito aquí. Primero se realizan las propuestas, luego se crea un borrador con la sintaxis y la semántica de cada una de las propuestas, que pueden ser tanto añadidos como cambios en la sintaxis actual. Luego se escogen los cambios que son candidatos a ser añadidos en la siguiente versión de ECMAScript, refinando el borrador y, finalmente, se da por finalizado el borrador tras su revisión, implementándose tras los pertinentes tests e incluyéndose en este repositorio.
Versiones de ECMAScript (ES)
El tema de las versiones de ECMAScript es algo que puede dar lugar a confusiones, ya que cuando nos referimos al estándar como ECMAScript solemos utilizar el año de su definición, pero cuando nos referimos al estándar como ES, solemos usar un número que no se corresponde con el año de su lanzamiento.
Hace unos años, las diferentes especificaciones de ECMAScript siempre recibían el nombre de su versión, por lo que ES5 era claramente la quinta versión de ECMAScript. Sin embargo, desde la versión ES6, lanzada en el año 2015, el nombre oficial de cada una de ellas pasó a ser el conjunto de las siglas ES más el nombre del año de su creación. Por ello, ES6 recibió oficialmente el nombre de ES2015. Del mismo modo, la versión ES7 se llamó ES2016 y así sucesivamente hasta el día de hoy.
A continuación puedes encontrar una tabla en la que se muestra una lista con las diferentes versiones de JavaScript junto con su nombre oficial y el año de su lanzamiento:
Versión | Nombre | Publicación | Guía |
---|---|---|---|
ES11 | ES2020 | Junio del 2020 | - |
ES10 | ES2019 | Junio del 2019 | - |
ES9 | ES2018 | Junio del 2018 | - |
ES8 | ES2017 | Junio del 2017 | - |
ES7 | ES2016 | Junio del 2016 | - |
ES6 | ES2015 | Junio del 2015 | - |
ES5.1 | ES5.1 | Junio del 2011 | - |
ES5 | ES5 | Diciembre del 2009 | - |
ES4 | ES4 | Descartado | - |
ES3 | ES3 | Diciembre de 1999 | - |
ES2 | ES2 | Junio de 1998 | - |
ES1 | ES1 | Junio de 1997 | - |
Qué es ES.Next
Ya hemos visto qué son las diferentes versiones del estándar de JavaScript; ¿a qué hacemos referencia cuando hablamos de ES.Next?
ES.Next es el nombre que se suele usar para referirse a la próxima versión de JavaScript. Por ejemplo, cuando la última versión de JavaScript es la versión ES2019, la versión ES.Next será ES2020.