support es8 ecmascript javascript ecmascript-6 ecmascript-7

javascript - es8 - ¿Cuál es la relación entre ES6, ES7(y más grande), ES2015, etapa-0, etapa-1(y más grande)?



ecmascript 6 documentation (2)

Últimamente estoy confundido entre los siguientes términos en los artículos sobre JavaScript "nuevo-ish":

  • ES6
  • ES7 (y algunas veces, aunque raramente, ES8 y más grande)
  • ES2015 (y a veces ES2016 y más grande)
  • stage-0 (y stage-1 y más grande)

Parece que algunos de ellos son subconjuntos, característicos, de los otros, pero no estoy del todo claro sobre cuáles son los subconjuntos de los cuales.


Bastante, es un poco confuso. :-)

Los números de cuatro dígitos son años, los otros son ediciones de especificación.

ES2015 es ES6. Es la abreviatura de ECMAScript 2015, que es el nombre oficial del idioma, que se define en la 6ª edición de la especificación (por lo tanto, "ES6"). De la especificación :

Estándar ECMA-262

6ª edición / junio de 2015

Especificación del lenguaje ECMAScript® 2015

Del mismo modo, ES2016 es ES7 :

Estándar ECMA-262

7ᵗʰ Edición / Junio ​​de 2016

Especificación del lenguaje ECMAScript® 2016

2015 fue la primera vez que introdujeron el año en el nombre del idioma. La especificación anterior, 5.1 en 2011, era simplemente la "Especificación del lenguaje ECMAScript®". Entonces escucharás ES5.1 (publicado en junio de 2011) ES5 (publicado en diciembre de 2009) y ES3 (publicado en diciembre de 1999). (No hubo ES4.)

La etapa-0, etc., se refiere a la etapa de propuestas para mejorar el idioma, que se manejan en esta página de github administrada por el comité TC-39 responsable del idioma . El proceso de mejora se presenta en esta página desde TC-39 :

0 - Strawman

1 - Propuesta

2 - Borrador

3 - Candidato

4 - Terminado

... y una vez que esté en la Etapa 4, aparecerá aquí junto con la especificación en la que se espera que esté. Por ejemplo, las Funciones Asíncronas han alcanzado la Etapa 4 y estarán en ES2017.


El TC39 clasifica las propuestas en 4 etapas:

  • stage-0 - Strawman: solo una idea.
  • stage-1 - Propuesta: vale la pena trabajar en esto.
  • stage-2 - Draft: initial spec.
  • stage-3 - Candidato: especificación completa e implementaciones iniciales del navegador.
  • stage-4 - Terminado: se agregará a la próxima publicación anual.

Además, echa un vistazo a las propuestas actuales de TC39